Руководство по actionscript. часть 3, стр. 057
Если вы хотите вспомнить отличие между выражением novel. TITLE[0] и novel. TITLE, обратитесь к подразд. «Интерпретация объекта XMLList как экземпляра класса XML» разд. «Обращение к данным XML».
Теперь также изменим имя автора и название издательства:
novel. AUTHOR = «Hemingway. Ernest»; novel. PUBLISHER = «Scribner»;
В качестве альтернативы содержимое элемента можно изменить с помощью метода экземпляра setChildren ( ) класса XML. Например:
novel. TITLE. setChi1dren(«The Sun Also Rises»);
Изменение значения атрибута
Чтобы изменить значение атрибута XML, просто присвойте атрибуту любое новое значение, используя оператор присваивания. Новое значение будет преобразовано в строку и заменит существующее значение атрибута. Например, следующий код изменяет значение атрибута ISBN со строки «0141182806″ на строку «0684800713″:
novel.0ISBN = «0684800713″;
В этом коде использование строки вместо числа в качестве нового значения позволяет сохранить первый нуль.
Если присваиваемое атрибуту значение является объектом XMLLi s t, содержащим атрибуты, то значения атрибутов из этого объекта XMLList будут объединены в одну строку (в качестве разделителей используются пробелы), которая затем будет присвоена атрибуту. Это слегка необычное поведение может использоваться для объединения группы атрибутов в один атрибут. Например:
var books:XML =
var order:XML = ORDER ITEMS=»"/>; order. LITEMS = books.*.@ISBN;
// Выдает:
ORDER ITEMS=»0141182806 0684800713 0198711905″/>
Замена всего элемента
Чтобы заменить элемент XML новыми элементами, ему присваивается либо объект XMLList, либо объект XML. Например, в следующем коде элемент заменяет элемент :
var doc:XML = ООО
E4X is fun
:
doc. P = E4X is convenient;
// Выдает:
OIV>E4X is convenient
Содержимое элемента может также быть заменено с помощью метода экземпляра replace ( ) класса XML. Например:
// Тождественно: doc. P = E4X is convenient doc. replaceC’P», E4X is convenient);
Обратите внимание, что, когда XML-элемент заменяется содержимым из другого документа, новое содержимое представляет собой копию содержимого элемента другого документа, а не ссылку на него. Например, рассмотрим два следующих фрагмента XML:
var userl:XML =
var user2:XML =
Мы можем заменить элемент
user2.PASSWORD = userl. PASSWORD;
После замены два элемента
trace(userl. PASSWORDS] == user2.PASSWORDS]); // Выводит: true
Но они ссылаются на разные экземпляры класса XML:
traceCuserl. PASSWORDS] === user2. PASSWORD^]); // Выводит: false
Получить информацию о различиях между двумя предыдущими выражениями равенства можно далее, в разд. «Определение равенства в расширении Е4Х».