Руководство по actionscript. часть 3, стр. 058
Добавление новых атрибутов и элементов
Мы можем добавлять новые атрибуты и элементы в документ, используя тот же синтаксис присваивания, который применяется для изменения и замены существующих атрибутов и элементов.
В расширении Е4Х, когда значение присваивается несуществующему атрибуту или элементу, среда выполнения Flash автоматически добавляет указанный атрибут или элемент в документ. В качестве примера создадим наш фрагмент * с нуля. Мы начнем с пустого элемента :
var novel:XML =
Затем добавим атрибут ISBN:
novel.@ISBN = «0141182806″;
Наконец, добавим элементы,
novel. TITLE = «Ulysses»;
novel. AUTHOR = «Joyce. James»;
novel. PUBLISHER = «Penguin Books Ltd»;
Для каждой операции присваивания к тегу в качестве нового последнего ребенка добавляется новый элемент. Таким образом, в результате выполнения предыдущего кода будет получен следующий XML-фрагмент:
Ulysses
Синтаксис присваивания также может быть использован для добавления вложенной структуры XML с помощью одного оператора. Предположим, что мы хотим добавить следующее вложенное содержимое, описывающее место действия романа, к элементу :
Dublin
Irel and
Для этого можно воспользоваться следующим кодом:
novel. SETTING. CITY = «Dublin»; novel. SETTING. COUNTRY = «Ireland»;
Когда среда Flash пытается исполнить первую инструкцию, она определяет, что в документе нет ни элемента, ни элемента, и, следовательно, создает оба этих элемента. Когда среда Flash исполняет вторую инструкцию, она видит, что элемент уже существует, и поэтому не создает его повторно. Вместо этого среда выполнения просто добавляет элемент к существующему элементу. Вот так выглядит получившийся фрагмент XML:
Мы можем использовать аналогичный подход, чтобы представить информацию о месте действия в одном элементе, имеющем следующий формат:
Для этого мы просто присваиваем желаемым атрибутам необходимые значения, как показано в следующем коде:
novel. SETTING.@CITY = «Dublin»; novel. SETTING.^COUNTRY = «Ireland»;
//Выдает:
Ulysses
В этом разделе мы узнали, что присваивание значения несуществующему элементу приводит к добавлению этого элемента в документ. Но что делать, если мы хотим добавить элемент с таким же именем, как имя существующего элемента? Например, как добавить несколько элементов
ЭкземплярКлассаХМЫлиХМШ stl + ЭкземплярКлассаХМЫлиХМШ st2
Он возвращает новый экземпляр класса XMLList, содержащий объединенный список всех экземпляров класса XML из экземпляров ЭкземплярКлассаХМЫлиХМШstl и ЭкземплярКлассаХМЫлиХМШ st2.