Цитата:
Сообщение от ZackMercury
При выводе всего XML, оно выводит весь код XML, включая корневой тег, значит, следуя логике, при обращении к ребёнку, оно должно вывести не его содержимое, а конкретно тег+содержимое.
|
Во-первых, неправда. Пустой не выводит)
Код AS3:
var xmlPro:XML =
<processes></processes>;
trace("XML:", xmlPro); // Выводит: "XML:"
Во-вторых, надо различать, когда Вы обращаетесь к ноде, а когда — к ее содержимому, или значению.
Если нода имеет сложное содержимое (вложенные ноды), то Вы обращаетесь непосредственно к объекту XML:
Код AS3:
var xmlPro:XML =
<processes><circle/></processes>;
trace("XML:", xmlPro); // Выводит: "XML: <processes><circle/></processes>"
Если нода имеет простое содержимое, то Вы обращаетесь к содержимому:
Код AS3:
var xmlPro:XML =
<processes>2</processes>;
trace("XML:", xmlPro); // Выводит: "XML: 2"
Советую также при трейсе XML использовать метод .toXMLString()
Добавлено через 7 минут
Цитата:
Но технически XMLList может быть XML, но не наоборот?
|
Когда XMLList содержит только одну ноду XML, с ним можно работать как с XML. Честно говоря, от этого больше неразберихи, чем пользы((
Коротко говоря, XML подразумевает иерархию и вложенность, а XMLList — линейность, один уровень иерархии. В каком-то смысле это просто одномерный Vector.<XML>.
Добавлено через 11 минут
Также не стоит забывать, что XMLList содержит ССЫЛКИ на ноды исходного XML, а не копии этих нод.