Главная / Action Script 3
ПакетВерхний уровень
Классpublic final dynamic class XML
НаследованиеXML Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс XML содержит методы и свойства для работы с объектами XML. В классе XML (а также в классах XMLList, Namespace и QName) реализованы мощные стандарты обработки XML, определенные в языке ECMAScript для спецификации XML E4X (ECMA-357, второе издание).

Воспользуйтесь методом toXMLString(), чтобы вернуть строковое представление объекта XML независимо от того, простое или сложное содержимое находится в этом объекте.

Примечание. Класс XML (вместе со связанными классами) из ActionScript 2.0 теперь называется XMLDocument и находится в пакете flash.xml. Он включен в ActionScript 3.0 в целях обеспечения обратной совместимости.

Посмотреть примеры

См. также

Namespace
QName
XMLList
XML.toXMLString()
Спецификация языка ECMAScript для XML E4X (ECMA-357, редакция 2)
Объекты XML


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  ignoreComments : Boolean
[статические] Определяет, будут ли игнорироваться XML-комментарии при анализе исходных XML-данных объектами XML.
XML
  ignoreProcessingInstructions : Boolean
[статические] Определяет, будут ли игнорироваться инструкции обработки XML при анализе исходных XML-данных объектами XML.
XML
  ignoreWhitespace : Boolean
[статические] Определяет, будут ли игнорироваться при анализе разделители в начале и в конце текстовых узлов.
XML
  prettyIndent : int
[статические] Определяет размер отступа, создаваемого методами toString() и toXMLString(), если свойству XML.prettyPrinting присвоено значение true.
XML
  prettyPrinting : Boolean
[статические] Определяет, будут ли методы toString() и toXMLString() выполнять нормализацию разделителей между некоторыми тегами.
XML
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
  
XML(value:Object)
Создает новый объект XML.
XML
  
Добавляет пространство имен в набор внутренних пространств имен для объекта XML.
XML
  
Добавляет данный дочерний элемент в конце свойств объекта XML.
XML
  
attribute(attributeName:*):XMLList
Возвращает XML-значение атрибута с именем, соответствующим параметру attributeName.
XML
  
Возвращает список значений атрибутов для данного объекта XML.
XML
  
child(propertyName:Object):XMLList
Отображает список дочерних элементов объекта XML.
XML
  
Определяет нулевую позицию индекса данного объекта XML в контексте его родительского объекта.
XML
  
Отображает список дочерних элементов объекта XML в порядке их расположения.
XML
  
Отображает список свойств объекта XML, содержащих XML-комментарии.
XML
  
Сравнивает объект XML с данным параметром-значением.
XML
  
Возвращает копию данного объекта XML.
XML
  
[статические] Возвращает объект со значениями по умолчанию для следующих свойств: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting.
XML
  
Возвращает все потомки (дочерние объекты всех уровней) объекта XML, обладающие данным параметром имени.
XML
  
Отображает список элементов объекта XML.
XML
  
Проверяет наличие в объекте XML сложного содержимого.
XML
  
Проверяет наличие у объекта свойства, заданного параметром p.
XML
  
Поверяет наличие в объекте XML простого содержимого.
XML
  
Отображает список пространств имен объекта XML на основе родительского объекта.
XML
  
Вставляет данный параметр child2 после параметра child1 в этом объекте XML и возвращает полученный объект.
XML
  
Вставляет данный параметр child2 перед параметром child1 в этом объекте XML и возвращает полученный объект.
XML
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Для объектов XML этот метод всегда возвращает целое число 1.
XML
  
Выдает часть полного имени объекта XML, содержащую локальное имя.
XML
  
Выдает полное имя объекта XML.
XML
  
namespace(prefix:String = null):*
Если параметр не предусмотрен, выдает пространство имен, связанное с полным именем этого объекта XML.
XML
  
Отображает список объявлений пространств имен, связанных с объектом XML в контексте его родительского объекта.
XML
  
Задает тип узла: текст, комментарий, инструкцию обработки, атрибут или элемент.
XML
  
Для объекта XML и всех объектов XML, которые являются его потомками, выполняет слияние смежных текстовых узлов и удаляет пустые текстовые узлы.
XML
  
Возвращает родительский объект для объекта XML.
XML
  
Вставляет копию введенного дочернего объекта в элемент XML перед любыми существующими свойствами XML для этого элемента.
XML
  
Если параметр имени введен, отображает список всех дочерних объектов для объекта XML, содержащих инструкции обработки с таким именем.
XML
  
Проверяет, находится ли "p" в наборе свойств, которые можно итерировать в операторе for..in", примененном к объекту XML.
XML
  
Удаляет данное пространство имен для этого объекта и всех его потомков.
XML
  
replace(propertyName:Object, value:XML):XML
Заменяет свойства, определенные параметром propertyName, заданным параметром value.
XML
  
Заменяет свойства дочернего объекта XML заданным набором свойств XML из параметра value.
XML
  
Изменяет локальное имя объекта XML на значение данного параметра имени.
XML
  
Задает имя объекта XML по данному полному имени или имени атрибута.
XML
  
Задает пространство имен, связанное с объектом XML.
XML
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
[статические] Задает значения для следующих свойств XML: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting.
XML
  
[статические] Получает следующие свойства: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting.
XML
  
Возвращает объект XMLList всех свойств XML объекта XML, представляющих текстовые узлы XML.
XML
  
Возвращает строковое представление объекта XML.
XML
  
Возвращает строковое представление объекта XML.
XML
  
Возвращает объект XML.
XML
Сведения о свойстве
ignoreCommentsсвойство
ignoreComments:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, будут ли игнорироваться XML-комментарии при анализе исходных XML-данных объектами XML. По умолчанию комментарии игнорируются (значение true). Чтобы включить XML-комментарии, установите для этого свойства значение false. Свойство ignoreComments используется только при разборе XML, а не во время вызова того или иного метода (например, myXMLObject.child(*).toXMLString()). Если исходный XML включает узлы комментариев, они сохраняются или пропускаются при разборе XML.



Реализация
    public static function get ignoreComments():Boolean
    public function set ignoreComments(value:Boolean):void

См. также


Пример
В этом примере показано, что происходит, если XML.ignoreComments присвоить значения false и true:
XML.ignoreComments = false;
var xml1:XML = 
        <foo>
            <!-- comment -->
        </foo>;
trace(xml1.toXMLString()); // <foo><!-- comment --></foo>

XML.ignoreComments = true;
var xml2:XML = 
        <foo>
            <!-- example -->
        </foo>;
trace(xml2.toXMLString()); // <foo/>
ignoreProcessingInstructionsсвойство 
ignoreProcessingInstructions:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, будут ли игнорироваться инструкции обработки XML при анализе исходных XML-данных объектами XML. По умолчанию инструкции обработки игнорируются (значение true). Чтобы включить инструкции обработки XML, установите для этого свойства значение false. Свойство ignoreProcessingInstructions используется только при разборе XML, а не во время вызова того или иного метода (например, myXMLObject.child(*).toXMLString()). Если исходный XML включает узлы инструкций обработки, они сохраняются или пропускаются при разборе XML.



Реализация
    public static function get ignoreProcessingInstructions():Boolean
    public function set ignoreProcessingInstructions(value:Boolean):void

См. также


Пример
В этом примере показано, что происходит, если XML.ignoreProcessingInstructions присвоить значения false и true:
XML.ignoreProcessingInstructions = false;
var xml1:XML = 
        <foo>
            <?exampleInstruction ?>
        </foo>;
trace(xml1.toXMLString()); // <foo><?exampleInstruction ?></foo>

XML.ignoreProcessingInstructions = true;
var xml2:XML = 
        <foo>
            <?exampleInstruction ?>
        </foo>;
trace(xml2.toXMLString()); // <foo/>
ignoreWhitespaceсвойство 
ignoreWhitespace:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, будут ли игнорироваться при анализе разделители в начале и в конце текстовых узлов. По умолчанию они игнорируются (значение true). Если текстовый узел на 100% состоит из разделителей, а свойству ignoreWhitespace присвоено значение true, то узел не создается. Чтобы показывать разделители в текстовом узле, присвойте свойству ignoreWhitespace значение false.



Реализация
    public static function get ignoreWhitespace():Boolean
    public function set ignoreWhitespace(value:Boolean):void

Пример
В этом примере показано, что происходит, если XML.ignoreWhitespace присвоить значения false и true:
XML.ignoreWhitespace = false;
var xml1:XML = <foo>    </foo>;
trace(xml1.children().length()); // 1

XML.ignoreWhitespace = true;
var xml2:XML = <foo>    </foo>;
trace(xml2.children().length()); // 0
prettyIndentсвойство 
prettyIndent:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет размер отступа, создаваемого методами toString() и toXMLString(), когда для свойства XML.prettyPrinting выбрано значение true. Отступ определяется символом пробела, а не табуляции. Значение по умолчанию — 2.



Реализация
    public static function get prettyIndent():int
    public function set prettyIndent(value:int):void

См. также


Пример
В этом примере показан эффект параметра статического свойства XML.prettyIndent:
var xml:XML = <foo><bar/></foo>;
XML.prettyIndent = 0;
trace(xml.toXMLString());

XML.prettyIndent = 1;
trace(xml.toXMLString());

XML.prettyIndent = 2;
trace(xml.toXMLString());
prettyPrintingсвойство 
prettyPrinting:Boolean  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет, будут ли методы toString() и toXMLString() выполнять нормализацию разделителей между некоторыми тегами. Значение по умолчанию — true.



Реализация
    public static function get prettyPrinting():Boolean
    public function set prettyPrinting(value:Boolean):void

См. также


Пример
В этом примере показан эффект установки статического свойства XML.prettyPrinting:
var xml:XML = <foo><bar/></foo>;
XML.prettyPrinting = false;
trace(xml.toXMLString());

XML.prettyPrinting = true;
trace(xml.toXMLString());
Сведения о конструкторе
XML()Конструктор
public function XML(value:Object)

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Создает новый объект XML. Перед вызовом любых методов класса необходимо использовать конструктор для создания объекта XML.

Воспользуйтесь методом toXMLString(), чтобы вернуть строковое представление объекта XML независимо от того, простое или сложное содержимое находится в этом объекте.

Параметры
value:Object — Любой объект, который можно преобразовать в формат XML с помощью функции верхнего уровня XML().

См. также

Сведения о методе
addNamespace()метод
AS3 function addNamespace(ns:Object):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Добавляет пространство имен в набор внутренних пространств имен для объекта XML. Если пространство имен уже существует во внутренних пространствах имен для объекта XML (с префиксом, соответствующим префиксу заданного параметра), то префиксу существующего пространства имен присваивается значение undefined. Если введенный параметр — это объект Namespace, он используется напрямую. Если это объект QName, для создания нового пространства имен применяется URI введенного параметра. В противном случае он преобразуется в объект String, на основе которого создается пространство имен.

Параметры

ns:Object — Пространство имен, добавляемое в объект XML.

Возвращает
XML — Новый объект XML с добавленным пространством имен.

См. также


Пример

В этом примере использовано пространство имен, определенное в одном объекте XML и примененное к другому объекту XML:
var xml1:XML = <ns:foo xmlns:ns="www.example.com/ns" />;
var nsNamespace:Namespace = xml1.namespace();

var xml2:XML = <bar />;
xml2.addNamespace(nsNamespace);
trace(xml2.toXMLString()); // <bar xmlns:ns="www.example.com/ns"/>
appendChild()метод 
AS3 function appendChild(child:Object):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Добавляет данный дочерний элемент в конце свойств объекта XML. Метод appendChild() принимает объект XML, объект XMLList или любой другой тип данных, который затем преобразуется в объект String.

Воспользуйтесь оператором delete (XML), чтобы удалить узлы XML.

Параметры

child:Object — Добавляемый объект XML.

Возвращает
XML — Итоговый объект XML.

См. также


Пример

В этом примере новый элемент добавляется в конец списка дочерних элементов объекта XML:
var xml:XML = 
        <body>
            <p>hello</p>
        </body>;
        
xml.appendChild(<p>world</p>);    
trace(xml.p[0].toXMLString()); // <p>hello</p>
trace(xml.p[1].toXMLString()); // <p>world</p>
attribute()метод 
AS3 function attribute(attributeName:*):XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает XML-значение атрибута с именем, соответствующим параметру attributeName. Поиск атрибутов выполняется в элементах XML. В следующем примере у элемента есть атрибут gender со значением boy: <first gender="boy">John</first>.

Параметр attributeName может относиться к любому типу данных; однако, наиболее часто используется тип данных String. При передаче любого объекта, отличного от объекта QName, параметр attributeName использует метод toString(), чтобы преобразовать этот параметр в строку.

Если необходима ссылка на полное имя, можно передать объект QName. Объект QName определяет пространство имени локальное имя, которые можно использовать для определения полного имени атрибута. Поэтому вызов attribute(qname) отличается от вызова attribute(qname.toString()).

Параметры

attributeName:* — Имя атрибута.

Возвращает
XMLList — Объект XMLList или пустой объект XMLList. Возвращает пустой объект XMLList, когда значение атрибута не определено.

См. также


Пример

В этом примере показан объект QName, переданный методу attribute(). Свойство localName имеет значение attr, а свойство namespace — значение ns.
 var xml:XML = <ns:node xmlns:ns = "http://uri" ns:attr = '7' />       
 var qn:QName = new QName("http://uri", "attr");
 trace (xml.attribute(qn)); // 7

Чтобы вернуть атрибут с именем, совпадающим с зарезервированным словом ActionScript, воспользуйтесь методом attribute() вместо оператора идентификатора атрибута (@) (см. пример ниже):
 var xml:XML = <example class="first" />
 trace(xml.attribute("class"));
 
attributes()метод 
AS3 function attributes():XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает список значений атрибутов для данного объекта XML. Чтобы вернуть имя атрибута, воспользуйтесь методом name() вместе с методом attributes(). xml.attributes() выступает в качестве эквивалента xml.@*.

Возвращает
XMLList — Список значений атрибута.

См. также


Пример

В следующем примере возвращается имя атрибута:
var xml:XML=<example id='123' color='blue'/>
trace(xml.attributes()[1].name()); //color

В этом примере возвращаются имена всех атрибутов:
 
var xml:XML = <example id='123' color='blue'/>
var attNamesList:XMLList = xml.@*;

trace (attNamesList is XMLList); // true
trace (attNamesList.length()); // 2

for (var i:int = 0; i < attNamesList.length(); i++)
{ 
    trace (typeof (attNamesList[i])); // xml
    trace (attNamesList[i].nodeKind()); // attribute
    trace (attNamesList[i].name()); // id and color
} 
child()метод 
AS3 function child(propertyName:Object):XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список дочерних элементов объекта XML. Дочерний элемент XML — это элемент XML, текстовый узел, комментарий или инструкция по обработке.

Чтобы перечислить содержимое конкретного дочернего элемента XML, воспользуйтесь параметром propertyName. Например, чтобы вернуть содержимое дочернего элемента <first>, укажите child.name("first"). Те же результаты можно получить, воспользовавшись номером индекса дочернего элемента. Номер индекса указывает на положение дочернего элемента в списке других дочерних элементов XML. Например, name.child(0) возвращает первый дочерний элемент в списке.

Укажите "звездочку" (*), чтобы вывести все дочерние объекты в документе XML. Например, doc.child("*").

Воспользуйтесь методом length() с параметром "звездочки" (*) метода child(), чтобы вывести общее число дочерних объектов. Например, numChildren = doc.child("*").length().

Параметры

propertyName:Object — Имя элемента или целого числа дочернего XML.

Возвращает
XMLList — Объект XMLList с дочерними узлами, соответствующими введенному параметру.

См. также


Пример

В этом примере показано применение метода child() для обнаружения дочерних элементов с указанным именем:
var xml:XML = 
        <foo>
            <bar>text1</bar>
            <bar>text2</bar>
        </foo>;
trace(xml.child("bar").length());  // 2
trace(xml.child("bar")[0].toXMLString()); // <bar>text1</bar>
trace(xml.child("bar")[1].toXMLString()); // <bar>text2</bar>
childIndex()метод 
AS3 function childIndex():int

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Определяет нулевую позицию индекса данного объекта XML в контексте его родительского объекта.

Возвращает
int — Позиция объекта. Возвращает как значение "-1", так и положительные целые числа.

См. также


Пример

В этом примере демонстрируется применение метода childIndex():
var xml:XML = 
            <foo>
                <bar />
                text
                <bob />
            </foo>;
trace(xml.bar.childIndex()); // 0
trace(xml.bob.childIndex()); // 2
children()метод 
AS3 function children():XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список дочерних элементов объекта XML в порядке их расположения. Дочерний элемент XML — это элемент XML, текстовый узел, комментарий или инструкция по обработке.

Возвращает
XMLList — Объект XMLList дочерних элементов объекта XML.

См. также


Пример

В этом примере демонстрируется применение метода children():
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML = 
        <foo id="22">
            <bar>44</bar>
            text
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml.children().length()); // 4
trace(xml.children()[0].toXMLString()); // <bar>44</bar>
trace(xml.children()[1].toXMLString()); // text
trace(xml.children()[2].toXMLString()); // <!-- comment -->
trace(xml.children()[3].toXMLString()); // <?instruction ?>
comments()метод 
AS3 function comments():XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список свойств объекта XML, содержащих XML-комментарии.

Возвращает
XMLList — Объект XMLList свойств, содержащих комментарии.

См. также


Пример

В этом примере демонстрируется применение метода comments():
XML.ignoreComments = false;
var xml:XML = 
        <foo>
            <!-- example -->
            <!-- example2 -->
        </foo>;
trace(xml.comments().length()); // 2
trace(xml.comments()[1].toXMLString()); // <!-- example2 -->
contains()метод 
AS3 function contains(value:XML):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Сравнивает объект XML с данным параметром value.

Параметры

value:XML — Значение, сравниваемое с текущим объектом XML.

Возвращает
Boolean — Если объект XML совпадает с параметром value, выбирается значение true. В противном случае возвращается false.

См. также


Пример

В этом примере демонстрируется применение метода contains():
var xml:XML = 
        <order>
            <item>Rice</item>
            <item>Kung Pao Shrimp</item>
        </order>;
trace(xml.item[0].contains(<item>Rice</item>)); // true
trace(xml.item[1].contains(<item>Kung Pao Shrimp</item>)); // true
trace(xml.item[1].contains(<item>MSG</item>)); // false
copy()метод 
AS3 function copy():XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает копию данного объекта XML. Копия — это дубликат всего дерева узлов. Скопированный объект XML не имеет родителя и возвращает null, если Вы пытаетесь вызвать метод parent().

Возвращает
XML — Копия объекта.

См. также


Пример

В этом примере показано, что метод copy() приводит к созданию нового экземпляра объекта XML. При модификации копии оригинал остается неизменным:
var xml1:XML = <foo />;
var xml2:XML = xml1.copy();
xml2.appendChild(<bar />);
trace(xml1.bar.length()); // 0
trace(xml2.bar.length()); // 1
defaultSettings()метод 
AS3 static function defaultSettings():Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает объект со значениями по умолчанию для следующих свойств: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting. Значения по умолчанию таковы:

Примечание. Этот метод не применяется к экземпляру класса XML; его следует применять к XML так, как указано в следующем коде: var df:Object = XML.defaultSettings().

Возвращает
Object — Объект, свойствам которого присвоены параметры по умолчанию.

См. также


Пример

В следующем примере показано, как применять ряд значений по умолчанию (для включения комментариев и инструкций по обработке) перед заданием объекта XML, как вернуть параметры по умолчанию перед переходом к другому объекту XML и затем, как снова установить пользовательские параметры для работы с другими объектами XML:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <!-- comment -->
//         <?instruction ?>
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml2.toXMLString());
descendants()метод 
AS3 function descendants(name:Object = *):XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает всех потомков (дочерние объекты всех уровней) объекта XML, обладающих данным параметром имени. Параметр name является необязательным. Параметр name может представлять собой объект QName, тип данных String или любой другой тип данных, который затем преобразуется в тип данных String.

Чтобы показать всех потомков, воспользуйтесь параметром (*). Если параметр не задан, передается строка "*" и отображаются все потомки объекта XML.

Параметры

name:Object (default = *) — Имя совпадающего элемента.

Возвращает
XMLList — Объект XMLList совпадающих потомков. Если потомков не существует, возвращается пустой объект XMLList.

См. также


Пример

Чтобы вернуть потомков, имена которых совпадают с зарезервированными словами ActionScript, воспользуйтесь методом descendants() вместо оператора descendant (..), как показано в следующем примере.
var xml:XML = 
  <enrollees>
    <student id="239">
        <class name="Algebra" />
        <class name="Spanish 2"/>
    </student>
    <student id="206">
        <class name="Trigonometry" />
        <class name="Spanish 2" />
    </student>
  </enrollees>
trace(xml.descendants("class")); 

В следующем примере указано, что метод descendants() возвращает объект XMLList, содержащий все объекты потомков любого уровня:
XML.ignoreComments = false;
var xml:XML = 
        <body>
            <!-- comment -->
            text1
            <a>
                <b>text2</b>
            </a>
        </body>;
trace(xml.descendants("*").length()); // 5
trace(xml.descendants("*")[0]); // // <!-- comment -->
trace(xml.descendants("*")[1].toXMLString()); // text1
trace(xml.descendants("a").toXMLString()); // <a><b>text2</b></a>
trace(xml.descendants("b").toXMLString()); // <b>text2</b>
elements()метод 
AS3 function elements(name:Object = *):XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список элементов объекта XML. Элемент состоит из начального и конечного тега; например <first></first>. Параметр name является необязательным. Параметр name может представлять собой объект QName, тип данных String или любой другой тип данных, который затем преобразуется в тип данных String. Параметр name используется для включения определенного элемента в список. Например, элемент "first" возвращает "John" в примере <first>John</first>.

Чтобы включить в список все элементы, воспользуйтесь параметром "звездочки" (*). Звездочка также является параметром по умолчанию.

Воспользуйтесь методом length() с параметром звездочки, чтобы вывести общее количество элементов. Например, numElement = addressbook.elements("*").length().

Параметры

name:Object (default = *) — Имя элемента. Имя элемента в угловых кавычках. Например, "first" является именем в примере <first></first>.

Возвращает
XMLList — Объект XMLList содержимого элемента. Содержимое элемента находится между начальным и конечным тегом. Если для вызова всех элементов используется "звездочка" (*), возвращаются как теги элемента, так и содержимое.

См. также


Пример

В следующем примере показано, как метод elements() возвращает список, состоящий только из элементов без комментариев, свойств текста или инструкций по обработке:
var xml:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
            text
            <a>1</a>
            <b>2</b>
        </foo>;
trace(xml.elements("*").length()); // 2
trace(xml.elements("*")[0].toXMLString()); // <a>1</a>
trace(xml.elements("b").length()); // 1
trace(xml.elements("b")[0].toXMLString()); // <b>2</b>

Чтобы вернуть элементы, имена которых совпадают с зарезервированными словами ActionScript, воспользуйтесь методом elements() вместо оператора XML dot (.), как показано в следующем примере.
var xml:XML =
 <student id="206">
    <class name="Trigonometry" />
    <class name="Spanish 2" />
 </student>
trace(xml.elements("class")); 
hasComplexContent()метод 
AS3 function hasComplexContent():Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Проверяет наличие в объекте XML сложного содержимого. Объект XML имеет сложное содержимое, если у него есть дочерние элементы. Объекты XML, которые представляют собой атрибуты, комментарии, инструкции обработки и текстовые узлы, не имеют сложного содержимого. Однако объект, в котором они содержатся, может считаться имеющим сложное содержимое (если у него есть дочерние элементы).

Возвращает
Boolean — Если объект XML имеет сложное содержимое, возвращается значение true. В противном случае возвращается false.

См. также


Пример

В следующем примере показан объект XML, первое свойство a которого имеет простое содержимое, а второе свойство a — сложное содержимое.
var xml:XML = 
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0].hasComplexContent()); // false
trace(xml.a[1].hasComplexContent()); // true

trace(xml.a[0].hasSimpleContent()); // true
trace(xml.a[1].hasSimpleContent()); // false
hasOwnProperty()метод 
AS3 function hasOwnProperty(p:String):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Проверяет наличие у объекта свойства, заданного параметром p.

Параметры

p:String — Совпадающее свойство.

Возвращает
Boolean — Если свойство существует, указывается значение true; в противном случае выбирается значение false.

См. также


Пример

В следующем примере используется метод hasOwnProperty(), позволяющий убедиться в том, что свойство (b) существует перед оценкой выражения (b == "11"), в котором используется этот параметр:
var xml:XML = 
        <foo>
            <a />
            <a>
                <b>10</b>
            </a>
            <a>
                <b>11</b>
            </a>
        </foo>;
trace(xml.a.(hasOwnProperty("b") && b == "11")); 
Flash Player создает исключение, поскольку первый элемент с именем a не имеет свойства b, если последняя строка в данном примере выглядит следующим образом:

trace(xml.a.(b == "11"));


В следующем примере используется метод hasOwnProperty(), позволяющий убедиться в том, что свойство (item) существует перед оценкой выражения (item.contains("toothbrush")), в котором применяется этот параметр:
var xml:XML = 
        <orders>
            <order id='1'>
                <item>toothbrush</item>
                <item>toothpaste</item>
            </order>
            <order>
                <returnItem>shoe polish</returnItem>
            </order>
        </orders>;
trace(xml.order.(hasOwnProperty("item") && item.contains("toothbrush"))); 
hasSimpleContent()метод 
AS3 function hasSimpleContent():Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Поверяет наличие в объекте XML простого содержимого. Объект XML имеет простое содержимое, если он представляет текстовый узел, узел атрибута или элемент XML, лишенный дочерних элементов. Объекты XML, представляющие комментарии и инструкции обработки, не имеют простого содержимого.

Возвращает
Boolean — Если объект XML имеет простое содержимое, возвращается значение true. В противном случае возвращается false.

См. также


Пример

В следующем примере показан объект XML, первое свойство a которого имеет простое содержимое, а второе свойство a — сложное содержимое.
var xml:XML = 
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0].hasComplexContent()); // false
trace(xml.a[1].hasComplexContent()); // true

trace(xml.a[0].hasSimpleContent()); // true
trace(xml.a[1].hasSimpleContent()); // false
inScopeNamespaces()метод 
AS3 function inScopeNamespaces():Array

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список пространств имен объекта XML на основе родительского объекта.

Возвращает
Array — Массив объектов Namespace.

См. также

insertChildAfter()метод 
AS3 function insertChildAfter(child1:Object, child2:Object):*

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Вставляет данный параметр child2 после параметра child1 в этом объекте XML и возвращает полученный объект. Если параметру child1 присвоено значение null, метод вставляет содержимое child2 перед всеми дочерними объектами объекта XML (иными словами, после none). Если указан параметр child1, но он не существует в объекте XML, объект XML не изменяется и возвращается значение undefined.

Если этот метод вызывается по отношению к дочернему объекту XML, который не относится к числу элементов (текст, атрибуты, комментарии, число "пи" и т.д.), возвращается значение undefined.

Воспользуйтесь оператором delete (XML), чтобы удалить узлы XML.

Параметры

child1:Object — Объект в исходном объекте, который вставляется перед child2.
 
child2:Object — Вставляемый объект.

Возвращает
* — Итоговый объект XML или значение undefined.

См. также


Пример

В следующем примере в конец списка дочерних элементов объекта XML добавляется элемент:
var xml:XML = 
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildAfter(xml.item[0], <saleItem>fries</saleItem>);
trace(xml);
Метод trace() выводит следующее:
 <menu>
 	<item>burger</item>
 	<saleItem>fries</saleItem>
 	<item>soda</item>
 </menu>
insertChildBefore()метод 
AS3 function insertChildBefore(child1:Object, child2:Object):*

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Вставляет данный параметр child2 перед параметром child1 в этом объекте XML и возвращает полученный объект. Если параметру child1 присвоено значение null, метод вставляет содержимое child2 после всех дочерних объектов объекта XML (иными словами, перед none). Если указан параметр child1, но он не существует в объекте XML, объект XML не изменяется и возвращается значение undefined.

Если этот метод вызывается по отношению к дочернему объекту XML, который не относится к числу элементов (текст, атрибуты, комментарии, число "пи" и т.д.), возвращается значение undefined.

Воспользуйтесь оператором delete (XML), чтобы удалить узлы XML.

Параметры

child1:Object — Объект в исходном объекте, который вставляется после child2.
 
child2:Object — Вставляемый объект.

Возвращает
* — Итоговый объект XML или значение undefined.

См. также


Пример

В следующем примере в конец списка дочерних элементов объекта XML добавляется элемент:
var xml:XML = 
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildBefore(xml.bar[0], <saleItem>fries</saleItem>);
trace(xml);
Метод trace() выводит следующее:
<menu>
 	<saleItem>fries</saleItem>
 	<item>burger</item>
 	<item>soda</item>
 </menu>
length()метод 
AS3 function length():int

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Для объектов XML этот метод всегда возвращает целое число 1. Метод length() класса XMLList возвращает значение 1 для объекта XMLList, который содержит только одно значение.

Возвращает
int — Всегда возвращает 1 для любого объекта XML.

См. также

localName()метод 
AS3 function localName():Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Выдает часть полного имени объекта XML, содержащую локальное имя.

Возвращает
Object — В качестве локального имени выбирается String или null.

См. также


Пример

В следующем примере демонстрируется использование метода localName():
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
trace(xml.localName()); // Envelope
name()метод 
AS3 function name():Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Выдает полное имя объекта XML.

Возвращает
Object — В качестве полного имени указывается QName или null.

См. также


Пример

Следующий пример служит иллюстрацией применения метода name() для получения полного имени объекта XML:
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
trace(xml.name().localName); // Envelope
trace(xml.name().uri); // "http://www.w3.org/2001/12/soap-envelope"

В следующем примере показано, как метод name() вызывается по отношению к свойству XML, текстовому элементу и атрибуту:
var xml:XML = 
        <foo x="15" y="22">
            text
        </foo>;
        
trace(xml.name().localName); // foo
trace(xml.name().uri == ""); // true
trace(xml.children()[0]); // text
trace(xml.children()[0].name()); // null
trace(xml.attributes()[0]); // 15
trace(xml.attributes()[0].name()); // x
namespace()метод 
AS3 function namespace(prefix:String = null):*

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Если параметр не предусмотрен, выдает пространство имен, связанное с полным именем этого объекта XML. Если указан параметр prefix, метод возвращает пространство имен, которое совпадает с параметром prefix и является внутренним для объекта XML. Если такого пространства имен не существует, метод возвращает значение undefined.

Параметры

prefix:String (default = null) — Совпадающий префикс.

Возвращает
* — Возвращает null, undefined или пространство имен.

См. также


Пример

В следующем примере метод namespace() используется для определения пространства имен объекта XML и его присвоения объекту Namespace с именем soap, который затем применяется для идентификации свойства объекта xml (xml.soap::Body[0]):
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
var soap:Namespace = xml.namespace();
trace(soap.prefix); // soap
trace(soap.uri); // http://www.w3.org/2001/12/soap-envelope

var body:XML = xml.soap::Body[0];
trace(body.namespace().prefix); // soap
trace(xml.namespace().uri); // http://www.w3.org/2001/12/soap-envelope
trace(body.namespace("wx").uri); // "http://example.com/weather"

В следующем примере метод namespace() используется для того, чтобы определить пространство имен по умолчанию для узла, а также пространство имен для конкретного префикса ("dc"):
var xml:XML = 
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
            xmlns:dc="http://purl.org/dc/elements/1.1/" 
            xmlns="http://purl.org/rss/1.0/">
                <!-- ... -->
        </rdf:RDF>;
                    
trace(xml.namespace()); // http://www.w3.org/1999/02/22-rdf-syntax-ns#
trace(xml.namespace("dc")); // http://purl.org/dc/elements/1.1/
trace(xml.namespace("foo")); // undefined
namespaceDeclarations()метод 
AS3 function namespaceDeclarations():Array

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает список объявлений пространств имен, связанных с объектом XML в контексте его родительского объекта.

Возвращает
Array — Массив объектов Namespace.

См. также


Пример

В следующем примере выводятся объявления пространств имен для объекта XML.
var xml:XML = 
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
            xmlns:dc="http://purl.org/dc/elements/1.1/" 
            xmlns="http://purl.org/rss/1.0/">

            <!-- ... -->
            
        </rdf:RDF>;
                    
for (var i:uint = 0; i < xml.namespaceDeclarations().length; i++) {
    var ns:Namespace = xml.namespaceDeclarations()[i]; 
    var prefix:String = ns.prefix;
    if (prefix == "") {
        prefix = "(default)";
    }
    trace(prefix + ":" , ns.uri);
}
Метод trace() выводит следующее:
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
 dc: http://purl.org/dc/elements/1.1/
 (default): http://purl.org/rss/1.0/
nodeKind()метод 
AS3 function nodeKind():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает тип узла: текст, комментарий, инструкцию обработки, атрибут или элемент.

Возвращает
String — Используемый тип узла.

См. также


Пример

В этом примере отслеживаются все пять типов узлов:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;

var xml:XML = 
    <example id="10">
        <!-- this is a comment -->
        <?test this is a pi ?>
        and some text
    </example>;

trace (xml.nodeKind()); // element
trace (xml.children()[0].nodeKind()); // comment
trace (xml.children()[1].nodeKind()); // processing-instruction
trace (xml.children()[2].nodeKind()); // text
trace (xml.@id[0].nodeKind()); // attribute
normalize()метод 
AS3 function normalize():XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Для объекта XML и всех объектов XML, которые являются его потомками, выполняет слияние смежных текстовых узлов и удаляет пустые текстовые узлы.

Возвращает
XML — Итоговый нормализованный объект XML.

См. также


Пример

В следующем примере показан эффект вызова метода normalize():
var xml:XML = <body></body>;
xml.appendChild("hello");
xml.appendChild(" world");
trace(xml.children().length()); // 2
xml.normalize();
trace(xml.children().length()); // 1
parent()метод 
AS3 function parent():*

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает родительский объект для объекта XML. Если объект XML не имеет родительского объекта, этот метод возвращает значение undefined.

Возвращает
* — Ссылка XML на родительский узел или значение undefined, если родительский объект отсутствует для объекта XML.

См. также


Пример

В следующем примере метод parent() используется для определения родительского элемента конкретного элемента в структуре XML:
var xml:XML = 
    <body>
        <p id="p1">Hello</p>
        <p id="p2">Test:
            <ul>
                <li>1</li>
                <li>2</li>
            </ul>
        </p>
    </body>;
var node:XML = xml.p.ul.(li.contains("1"))[0]; // == <ul> ... </ul>
trace(node.parent().@id); // p2
prependChild()метод 
AS3 function prependChild(value:Object):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Вставляет копию введенного дочернего объекта в элемент XML перед любыми существующими свойствами XML для этого элемента.

Воспользуйтесь оператором delete (XML), чтобы удалить узлы XML.

Параметры

value:Object — Вставляемый объект.

Возвращает
XML — Итоговый объект XML.

См. также


Пример

В следующем примере метод prependChild() используется для добавления элемента в начало списка дочерних объектов объекта XML:
var xml:XML = 
        <body>
            <p>hello</p>
        </body>;
        
xml.prependChild(<p>world</p>);    
trace(xml.p[0].toXMLString()); // <p>world</p>
trace(xml.p[1].toXMLString()); // <p>hello</p>
processingInstructions()метод 
AS3 function processingInstructions(name:String = "*"):XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Если параметр name введен, отображает список всех дочерних объектов для объекта XML, содержащих инструкции обработки с таким параметром. Если параметры не указаны, метод перечисляет все дочерние объекты объекта XML, содержащего инструкции по обработке.

Параметры

name:String (default = "*") — Имя совпадающих инструкций по обработке.

Возвращает
XMLList — Список совпадающих дочерних объектов.

См. также


Пример

В следующем примере показано применение метода processingInstructions() для получения массива инструкций по обработке для объекта XML:
XML.ignoreProcessingInstructions = false;
var xml:XML =
    <body>
            foo
            <?xml-stylesheet href="headlines.css" type="text/css" ?>
            <?instructionX ?>
            
    </body>;

trace(xml.processingInstructions().length()); // 2
trace(xml.processingInstructions()[0].name()); // xml-stylesheet
propertyIsEnumerable()метод 
AS3 function propertyIsEnumerable(p:String):Boolean

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Проверяет, находится ли p в наборе свойств, которые можно итерировать в операторе for..in, примененном к объекту XML. Значение true возвращается только тогда, когда toString(p) == "0".

Параметры

p:String — Проверяемое свойство.

Возвращает
Boolean — Если это свойство можно итерировать в операторе for..in, выбирается значение true; в противном случае указывается значение false.

См. также


Пример

В следующем примере показано, что для объекта XML метод propertyNameIsEnumerable() возвращает значение true только при значении 0, тогда как в случае объекта XMLList возвращается значение true для каждого действительного значения индекса, относящегося к объекту XMLList:
var xml:XML = 
        <body>
             <p>Hello</p>
               <p>World</p>
        </body>;

trace(xml.propertyIsEnumerable(0)); // true
trace(xml.propertyIsEnumerable(1)); // false

for (var propertyName:String in xml) {
    trace(xml[propertyName]);
}

var list:XMLList = xml.p;
trace(list.propertyIsEnumerable(0)); // true
trace(list.propertyIsEnumerable(1)); // true
trace(list.propertyIsEnumerable(2)); // false

for (var propertyName:String in list) { 
    trace(list[propertyName]);
}
removeNamespace()метод 
AS3 function removeNamespace(ns:Namespace):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Удаляет данное пространство имен для этого объекта и всех его потомков. Метод removeNamespaces() не удаляет пространство имен, если ссылка на него содержится в полном имени объекта или полных именах атрибутов объектов.

Параметры

ns:Namespace — Удаляемое пространство имен.

Возвращает
XML — Копия итогового объекта XML.

См. также


Пример

В следующем примере показано, как объявление пространства имен удаляется из объекта XML.
var xml:XML = 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
        xmlns:dc="http://purl.org/dc/elements/1.1/" 
        xmlns="http://purl.org/rss/1.0/">
    
        <!-- ... -->
        
    </rdf:RDF>;

trace(xml.namespaceDeclarations().length); // 3
trace(xml.namespaceDeclarations()[0] is String); // 
var dc:Namespace = xml.namespace("dc");
xml.removeNamespace(dc);
trace(xml.namespaceDeclarations().length); // 2
replace()метод 
AS3 function replace(propertyName:Object, value:XML):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Заменяет свойства, заданные параметром propertyName, на данный параметр value. Если ни одно из свойств не соответствует propertyName, объект XML остается неизменным.

Параметры

propertyName:Object — Может являться числовым значением, неполным именем набора элементов XML, полным именем набора элементов XML или подстановочным символом "звездочка" ("*"). Воспользуйтесь неполным именем, чтобы определить элементы XML в пространстве имен по умолчанию.
 
value:XML — Замещающее значение. Им может являться объект XML, объект XMLList или любое значение, которое можно преобразовать с помощью метода toString().

Возвращает
XML — Итоговый объект XML, у которого заменены совпадающие свойства.

См. также


Пример

В следующем примере показан вызов метода replace() с целым числом в качестве первого параметра:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace(1, <p>Bob</p>);
trace(xml);
Это приводит к следующему выводу trace():

 <body>
 	<p>Hello</p>
 	<p>Bob</p>
 	<hr/>
 </body>
 

В примере ниже метод replace() вызывается со строкой в качестве первого параметра:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("p", <p>Hi</p>); 
trace(xml);
Это приводит к следующему выводу trace():

 <body>
 	<p>Hi</p>
 	<hr/>
 </body>;
 

В этом примере показан вызов метода replace() с объектом QName в качестве первого параметра:
var xml:XML = 
    <ns:body xmlns:ns = "myNS">
        <ns:p>Hello</ns:p>
        <ns:p>World</ns:p>
        <hr/>
    </ns:body>;

var qname:QName = new QName("myNS", "p");
xml.replace(qname, <p>Bob</p>);
trace(xml);
Это приводит к следующему выводу trace():

 <ns:body xmlns:ns = "myNS">
 	<p>Bob</p>
 	<hr/>
 </ns:body>
 

В данном примере демонстрируется вызов метода replace() со строкой "*" в качестве первого параметра:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("*", <img src = "hello.jpg"/>);
trace(xml);
Это приводит к следующему выводу trace():

 <body>
 	<img src="hello.jpg"/>
 </body>
 
setChildren()метод 
AS3 function setChildren(value:Object):XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Заменяет свойства дочернего объекта XML заданным набором свойств XML из параметра value.

Параметры

value:Object — Замещающие свойства XML. Может быть единичным объектом XML или объектом XMLList.

Возвращает
XML — Итоговый объект XML.

См. также


Пример

В следующем примере показан вызов метода setChildren(). Сначала он выполняется с параметром в виде объекта XML, а затем с параметром, для которого выбран объект XMLList:
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
    </body>;

var list:XMLList = xml.p;

xml.setChildren(<p>hello</p>);
trace(xml);

//    <body>
//        <p>hello</p>
//    </body>

xml.setChildren(list);
trace(xml);

//    <body>
//        <p>Hello</p>
//        <p>World</p>
//    </body>
setLocalName()метод 
AS3 function setLocalName(name:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Изменяет локальное имя объекта XML на заданное значение параметра name.

Параметры

name:String — Замещающее имя локального имени.

См. также


Пример

Метод setLocalName() используется в этом примере для изменения локального имени элемента XML:
var xml:XML = 
    <ns:item xmlns:ns="http://example.com">
        toothbrush
    </ns:item>;
    
xml.setLocalName("orderItem");
trace(xml.toXMLString()); // <ns:orderItem xmlns:ns="http://example.com">toothbrush</ns:orderItem>
setName()метод 
AS3 function setName(name:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает имя объекта XML по данному полному имени или имени атрибута.

Параметры

name:String — Новое имя объекта.

См. также


Пример

Метод setName() используется в этом примере для изменения имени элемента XML:
var xml:XML = 
    <item>
        toothbrush
    </item>;
    
xml.setName("orderItem");
trace(xml.toXMLString()); // <orderItem>toothbrush</orderItem>
setNamespace()метод 
AS3 function setNamespace(ns:Namespace):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает пространство имен, связанное с объектом XML.

Параметры

ns:Namespace — Новое пространство имен.

См. также


Пример

В следующем примере используется пространство имен soap, определенное в одном из объектов XML, которое применяется к пространству имен другого объекта XML (xml2):
var xml1:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
            <!-- ... -->
        </soap:Envelope>;
var ns:Namespace = xml1.namespace("soap");

var xml2:XML = 
    <Envelope>
        <Body/>
    </Envelope>;
    
xml2.setNamespace(ns);

trace(xml2);
setSettings()метод 
AS3 static function setSettings(... rest):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает значения для следующих свойств XML: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting. Ниже приводятся параметры по умолчанию, применяемые в том случае, если не указан параметр setObj.

Примечание. Этот метод не применяется к экземпляру класса XML; его следует применять к XML так же, как в следующем коде: XML.setSettings().

Параметры

... rest — Объект с каждым из указанных ниже свойств:
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

См. также


Пример

В следующем примере показано, как применять ряд значений по умолчанию (для включения комментариев и инструкций по обработке) перед заданием объекта XML, как вернуть параметры по умолчанию перед переходом к другому объекту XML и затем, как снова установить пользовательские параметры для работы с другими объектами XML:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <!-- comment -->
//         <?instruction ?>
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml2.toXMLString());
settings()метод 
AS3 static function settings():Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Получает следующие свойства: ignoreComments, ignoreProcessingInstructions, ignoreWhitespace, prettyIndent и prettyPrinting.

Возвращает
Object — Объект со следующими свойствами XML:
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

См. также


Пример

В следующем примере показано, как применять ряд значений по умолчанию (для включения комментариев и инструкций по обработке) перед заданием объекта XML, как вернуть параметры по умолчанию перед переходом к другому объекту XML и затем, как снова установить пользовательские параметры для работы с другими объектами XML:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <!-- comment -->
//         <?instruction ?>
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <!-- comment -->
            <?instruction ?>
        </foo>;
trace(xml2.toXMLString());
text()метод 
AS3 function text():XMLList

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает объект XMLList всех свойств XML объекта XML, представляющих текстовые узлы XML.

Возвращает
XMLList — Список свойств.

См. также


Пример

В следующем примере метод text() используется для вывода текстовых узлов объекта XML:
var xml:XML =
        <body>
            text1
            <hr/>
            text2
        </body>;
trace(xml.text()[0]); // text1
trace(xml.text()[1]); // text2
toString()метод 
AS3 function toString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает строковое представление объекта XML. Правила этого преобразования зависят от наличия простого или сложного содержимого в объекте XML:

Чтобы каждый раз возвращать весь объект XML, воспользуйтесь методом toXMLString().

Возвращает
String — Строковое представление объекта XML.

См. также


Пример

В следующем примере показано, что возвращает метод toString(), когда объект XML имеет простое содержимое:
var test:XML = <type name="Joe">example</type>;
trace(test.toString()); //example

В следующем примере показано, что возвращает метод toString(), когда объект XML имеет сложное содержимое:
var test:XML = 
<type name="Joe">
    <base name="Bob"></base>
    example
</type>;
trace(test.toString());
  // <type name="Joe">
  // <base name="Bob"/>
  // example
  // </type> 
toXMLString()метод 
AS3 function toXMLString():String

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает строковое представление объекта XML. В отличие от метода toString() метод toXMLString() всегда возвращает начальный тег, атрибуты и конечный тег объекта XML независимо от того, имеет ли объект XML простое или сложное содержимое. (Метод toString() приводит к удалению этих компонентов в объектах XML, имеющих простое содержимое.)

Возвращает
String — Строковое представление объекта XML.

См. также


Пример

В следующем примере показана разница между использованием метода toString() (который применяется ко всем параметрам метода trace() по умолчанию) и применением метода toXMLString():
var xml:XML =
        <p>hello</p>;
trace(xml); // hello
trace(xml.toXMLString()); // <p>hello</p>
valueOf()метод 
AS3 function valueOf():XML

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Возвращает объект XML.

Возвращает
XML — Элементарное значение экземпляра XML.

См. также


Пример

В примере ниже видно, что значение, возвращаемое методом valueOf(), аналогично исходному объекту XML:
var xml:XML = <p>hello</p>;
trace(xml.valueOf() === xml); // true
Примеры Как пользоваться примерами
XMLExample.as

В следующем примере сначала создается переменная XML, а затем к ней добавляются узлы. Потом для поиска и печати узлов XML используются свойства XML. Заметьте, что символ "собака" (@) используется в нескольких вызовах trace() для поиска информации по имени атрибута.
package {
    import flash.display.Sprite;

    public class XmlExample extends Sprite {        
        public function XmlExample() {
            var employees:XML =
                <employees>
                    <employee ssn="123-123-1234">
                        <name first="John" last="Doe"/>
                        <address>
                            <street>11 Main St.</street>
                            <city>San Francisco</city>
                            <state>CA</state>
                            <zip>98765</zip>
                        </address>
                    </employee>
                    <employee ssn="789-789-7890">
                        <name first="Mary" last="Roe"/>
                        <address>
                            <street>99 Broad St.</street>
                            <city>Newton</city>
                            <state>MA</state>
                            <zip>01234</zip>
                        </address>
                    </employee>
                </employees>;

            trace(employees.employee[0].address.zip);   // 98765

            trace(employees.employee[1].@ssn);          // 789-789-7890

            trace(employees.employee.name);             // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees..zip[0]);                   // 98765

            trace(employees..@ssn[1]);                  // 789-789-7890

            trace(employees..name);                     // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees.employee[0].address.*);     // <street>11 Main St.</street>    
                                                        // <city>San Francisco</city>
                                                        // <state>CA</state>
                                                        // <zip>98765</zip>
            var node:String = "zip";
            trace(employees.employee[0].address[node]); // 98765
            
            var attribute:String = "ssn";
            trace(employees.employee[1].@[attribute]);  // 789-789-7890
            
            for each (var num:XML in employees..@ssn) {
                trace(num);                             // 123-123-1234
            }                                           // 789-789-7890
            
            var ssnToFind:String = "789-789-7890";
            trace(employees.employee.(@ssn == ssnToFind).toXMLString());
                                                        // <employee ssn="789-789-7890">
                                                        // <name first="Mary" last="Roe"/>
                                                        // <address>
                                                        // <street>99 Broad St.</street>
                                                        // <city>Newton</city>
                                                        // <state>MA</state>
                                                        // <zip>01234</zip>
                                                        // </address>
                                                        // </employee>
        }
    }
}