§15.2. Использование объекта xml
Во Flash практически все, что касается XML, происходит при участии объекта XML; при этом все происходящее относится к одной из следующих категорий: форматирование XML, анализ XML (извлечение информации), загрузка XML и посылка XML. Посредством объекта XML можно загрузить XML-данные из внешнего источника. Документ может храниться в статичном файле или может быть создан серверным скриптом. После того, как XML-документ загружен, доступ к содержащейся в нем информации можно получить при помощи методов и свойств объекта XML. Другие методы и свойства этого объекта помогут создать собственный XML-документ. Созданный документ можно использовать во Flash-фильме или послать скрипту на сервере. О том, как все это делается, вы узнаете из этого раздела.
§15.3. Форматирование xml
Объект XML имеет набор методов, предназначенных для создания и форматирования XML-документов. Правда, они весьма не просты в использовании – однако существует и более простой способ форматирования XML-объектов: нужно создать строку и затем преобразовать ее в объект XML.
Во Flash объект XML создается при помощи конструктора. Вот пример создания пустого объекта XML:
myXML = new XML();
Чтобы заполнить этот объект данными в формате XML, необходимо передать конструктору (указать в скобках) имя переменной, содержащей строку формата XML или другой объект XML.
Предположим, что мы хотим создать во Flash такой XML-документ:
<MyFriends>
<Name Gender="female">Kelly Makar</Name>
<Name Gender="male">Free Makar</Name>
</MyFriends>
Для этого мы должны сделать две вещи:
Создать документ в виде текстовой строки.
Преобразовать эту строку в объект XML при помощи конструктора объекта XML – new XML().
Например, так:
myString = "<MyFriends><Name Gender=\"female"\>Kelly Makar</Name><Name
Gender=\"male"\>Free Makar</Name></MyFriends>";
myXML = new XML(myString);
Как видите, в этом скрипте текст XML-документа создается в виде строки, которая затем преобразовывается в настоящий объект XML под названием myXML. Затем этот объект можно послать для обработки на сервер, воспользовавшись одним из предназначенных для этого методов (которые мы опишем далее в этом разделе).
§15.3. Анализ xml
Слово анализ в данном случае означает разбор на составные, структурные части. Так, когда говорят о написании скрипта, анализирующего XML-документ, имеют в виду извлечение информации из этого документа. Во Flash объект XML имеет множество свойств, помогающих это сделать. Для иллюстрации применения некоторых из них мы воспользуемся XML-объектом из предыдущего примера – myXML.
firstChild: Это свойство указывает на первый узел внутри структуры. Например: myXML.firstChild.firstChild возвратит значение <Name Gender="female">Kelly Makar</Name>. Первый дочерний узел XML-документа есть корневой узел (MyFriends), а первый дочерний узел корневого узла – Name.
childNodes: Это свойство возвращает массив дочерних узлов данной точки структуры. Например: myArray = myXML.firstChild.childNodes. Массив myArray будет содержать два элемента, значения которых будут равны значениям двух узлов Name.
nextSibling: Это свойство указывает на следующий узел того же уровня в структуре. Например, myXML.firstChild.firstChild.nextSibling возвратит <Name Gender="male">Free Makar</Name>.
attributes: Это свойство возвращает ассоциативный массив имен атрибутов. Например: myXML.firstChild.firstChild.nextSibling.attributes.Gender возвратит значение "male".
Мы рассказали здесь лишь о наиболее употребительных свойствах объекта XML; прочие свойства работают похожим образом, указывая на различные части структуры документа.