Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.xml 

XMLDocument  - AS3

Пакетflash.xml
Классpublic class XMLDocument
НаследованиеXMLDocument Inheritance XMLNode Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс XMLDocument представляет устаревший объект XML, который использовался в ActionScript 2.0. В ActionScript 3.0 он был переименован в XMLDocument во избежание конфликтов имен с новым XML-классом ActionScript 3.0. В ActionScript 3.0 рекомендуется использовать новый XML-класс и связанные классы, поддерживающие E4X (ECMAScript для XML).

Класс XMLDocument, как и XMLNode и XMLNodeType, является обратно совместимым. Функциональность для загрузки XML-документов теперь содержится в классе URLLoader.

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

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
 Inheritedattributes : Object
Объект, содержащий все атрибуты заданного экземпляра XMLNode.
XMLNode
 InheritedchildNodes : Array
[только для чтения] Массив дочерних узлов указанного объекта XMLNode.
XMLNode
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  docTypeDecl : Object = null
Показывает сведения об объявлении DOCTYPE для XML-документа.
XMLDocument
 InheritedfirstChild : XMLNode
Оценивает указанный объект XMLDocument и ссылается на первый дочерний узел в списке дочерних узлов родительского узла.
XMLNode
  idMap : Object
Объект, содержащий узлы XML, которым присвоен атрибут id.
XMLDocument
  ignoreWhite : Boolean = false
Если установлено значение true, текстовые узлы, содержащие только пробелы, при разборе игнорируются.
XMLDocument
 InheritedlastChild : XMLNode
Значение XMLNode, ссылающееся на последний узел того же уровня в списке дочерних узлов вышестоящего узла.
XMLNode
 InheritedlocalName : String
[только для чтения] Локальная часть имени узла XML.
XMLNode
 InheritednamespaceURI : String
[только для чтения] Если у узла XML есть префикс, namespaceURI является значением объявления xmlns для этого префикса (URI), который обычно называют URI области имен.
XMLNode
 InheritednextSibling : XMLNode
Значение XMLNode, ссылающееся на следующий родственный элемент того же уровня в списке дочерних узлов родительского узла.
XMLNode
 InheritednodeName : String
Строковое представление имени узла объекта XMLNode.
XMLNode
 InheritednodeType : uint
Значение константы nodeType: XMLNodeType.ELEMENT_NODE в случае элемента XML или XMLNodeType.TEXT_NODE в случае текстового узла.
XMLNode
 InheritednodeValue : String
Значение узла объекта XMLDocument.
XMLNode
 InheritedparentNode : XMLNode
Значение XMLNode, которое ссылается на родительский узел указанного объекта XML, либо возвращает значение null при отсутствии родительского узла для данного узла.
XMLNode
 Inheritedprefix : String
[только для чтения] Префикс имени узла XML.
XMLNode
 InheritedpreviousSibling : XMLNode
Значение XMLNode, ссылающееся на предыдущий родственный элемент того же уровня в списке дочерних узлов родительского узла.
XMLNode
  xmlDecl : Object = null
Строка, задающая информацию о XML-объявлении в документе.
XMLDocument
Общедоступные методы
 МетодОпределено
  
XMLDocument(source:String = null)
Создает новый объект XMLDocument.
XMLDocument
 Inherited
Добавляет указанный узел к списку дочерних узлов объекта XML.
XMLNode
 Inherited
Формирует и возвращает новый узел XML того же типа, с тем же именем, значением и атрибутами, что и заданный объект XML.
XMLNode
  
Создает новый объект XMLNode с именем, заданным параметром.
XMLDocument
  
Создает новый текстовый узел XML с заданным текстом.
XMLDocument
 Inherited
Возвращает URI пространства имен, связанный с заданным префиксом узла.
XMLNode
 Inherited
Возвращает префикс, связанный с заданным URI пространства имен узла.
XMLNode
 Inherited
Показывает, есть ли у заданного объекта XMLNode дочерние узлы.
XMLNode
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Добавляет новый дочерний узел в список дочерних узлов объекта XML перед узлом beforeNode.
XMLNode
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Разбирает текст XML, указанный в параметре value, и формирует в объекте XMLDocument получившееся дерево XML.
XMLDocument
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Удаляет заданный объект XML из его родительского объекта.
XMLNode
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
  
[переопределить] Возвращает строковое представление объекта XML.
XMLDocument
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве

docTypeDecl

свойство
public var docTypeDecl:Object = null

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Показывает сведения об объявлении DOCTYPE для XML-документа. После разбора текста XML и преобразования его в объект XMLDocument свойство XMLDocument.docTypeDecl объекта XMLDocument получает текст объявления DOCTYPE XML-документа (например, <!DOCTYPE greeting SYSTEM "hello.dtd">). Это свойство задается с помощью строкового представления объявления DOCTYPE, а не с помощью объекта XMLNode.

Синтаксический анализатор XML, встречающийся в предыдущих версиях ActionScript, не проверяет достоверность документа. Объявление DOCTYPE считывается анализатором и сохраняется в свойстве XMLDocument.docTypeDecl, но проверка описания типа документа (DTD) при этом не выполняется.

Если в ходе разбора не удается обнаружить объявление DOCTYPE, свойство XMLDocument.docTypeDecl принимает значение null. Метод XML.toString() выводит содержимое XML.docTypeDecl сразу после XML-объявления, сохраняемого в XML.xmlDecl, и перед любым другим текстом в объекте XML. Если XMLDocument.docTypeDecl имеет значение null, объявление DOCTYPE не выводится.

idMap

свойство 
public var idMap:Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Объект, содержащий узлы XML, которым присвоен атрибут id. Имена свойств объекта (каждое из которых содержит узел) совпадают со значениями атрибутов id.

Рассмотрим следующий объект XMLDocument:

     <employee id='41'>
         <name>
             John Doe
         </name>
         <address>
             601 Townsend St.
         </address>
     </employee>
     
     <employee id='42'>
         <name>
             Jane Q. Public
         </name>
     </employee>
     <department id="IT">
         Information Technology
     </department>
     

В данном примере свойство idMap объекта XMLDocument является объектом с тремя свойствами: 41, 42 и IT. Каждое из этих свойств является объектом XMLNode с подходящим значением id. Например, свойство IT объекта idMap является этим узлом:

     <department id="IT">
         Information Technology
     </department>
     

Для создания экземпляра свойства idMap к объекту XMLDocument необходимо применить метод parseXML().

Если объектов XMLNode с одинаковым значением id более одного, подходящим свойством объекта idNode будет это же свойство последнего разобранного узла. Например:

     var x1:XML = new XMLDocument("<a id='1'><b id='2' /><c id='1' /></a>");
     x2 = new XMLDocument();
     x2.parseXML(x1);
     trace(x2.idMap['1']);
     
Это выведет узел <c>:
     <c id='1' />
     

ignoreWhite

свойство 
public var ignoreWhite:Boolean = false

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Если установлено значение true, текстовые узлы, содержащие только пробелы, при разборе игнорируются. Текстовые узлы, начинающиеся или заканчивающиеся пробелом, не затрагиваются. Параметр по умолчанию — false.

Можно назначить свойство ignoreWhite отдельным объектам XMLDocument, как показано в примере:

     my_xml.ignoreWhite = true;
     

xmlDecl

свойство 
public var xmlDecl:Object = null

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Строка, задающая информацию о XML-объявлении в документе. После разбора XML-документа и преобразования в объект XMLDocument то свойство устанавливается для XML-объявления в документе. Это свойство задается с помощью строкового представления XML-объявления, а не с помощью объекта XMLNode. Если в ходе разбора не удается обнаружить XML-объявление, свойство принимает значение null. Метод XMLDocument.toString() выводит содержимое свойства XML.xmlDecl выше любого другого текста объекта XML. Если свойство XML.xmlDecl содержит значение null, XML-объявление не выводится.

Сведения о конструкторе

XMLDocument

()Конструктор
public function XMLDocument(source:String = null)

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает новый объект XMLDocument. Для создания объекта XMLDocument следует использовать конструктор, прежде чем вызывать какие-либо методы класса XMLDocument.

Примечание. Пользуйтесь методами createElement() и createTextNode() для добавления элементов и текстовых узлов в дерево XML-документа.

Параметры
source:String (default = null) — Текст XML разбирается, и в результате создается новый объект XMLDocument.

Связанные элементы API

Сведения о методе

createElement

()метод
public function createElement(name:String):XMLNode

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает новый объект XMLNode с именем, заданным параметром. Для нового узла изначально не существует родительских и дочерних узлов и родственных элементов того же уровня. Метод возвращает ссылку на вновь созданный объект XMLNode, которым представлен элемент. Этот метод и метод XMLDocument.createTextNode() являются методами-конструкторами для создания узлов объекта XMLDocument.

Параметры

name:String — Имя метки создаваемого элемента XMLDocument.

Возвращает
XMLNode — Объект XMLNode.

Связанные элементы API

createTextNode

()метод 
public function createTextNode(text:String):XMLNode

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает новый текстовый узел XML с заданным текстом. Для нового узла изначально не существует родительских узлов, а у текстового узла не может быть дочерних узлов или родственных элементов того же уровня. Этот метод возвращает ссылку на объект XMLDocument, которым представлен текстовый узел. Этот метод и метод XMLDocument.createElement() являются методами-конструкторами для создания узлов объекта XMLDocument.

Параметры

text:String — Текст для создания нового текстового узла.

Возвращает
XMLNode — Объект XMLNode.

Связанные элементы API

parseXML

()метод 
public function parseXML(source:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Разбирает текст XML, указанный в параметре value, и формирует в объекте XMLDocument получившееся дерево XML. Все существующие деревья в объекте XMLDocument отбрасываются.

Параметры

source:String — Текст XML для разбора и передачи указанному объекту XMLDocument.

toString

()метод 
override public function toString():String

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

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

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

В следующем примере показано, как классы XMLDocument и XMLNode используются для разбора и форматирования XML-документа. Вместо загрузки внешнего XML-файла для создания и разбора XML-документа используется класс XML верхнего уровня.
package {
    import flash.display.Sprite;
    import flash.xml.XMLDocument;
    import flash.xml.XMLNode;
    import flash.xml.XMLNodeType;

    public class XMLDocumentExample extends Sprite {
        public function XMLDocumentExample() {
            var result:XMLDocument = new XMLDocument();
            result.ignoreWhite = true;
            result.parseXML(getXMLString());

            var books:Array = parseBooks(result.firstChild);
            trace("books: \n" + books);
        }

        private function parseBooks(node:XMLNode):Array {
            var books:Array = new Array();

            var kids:Array = node.childNodes;
            for each(var item:XMLNode in kids) {
                parseBook(item, books);
            }

            return books;
        }

        private function parseBook(node:XMLNode, books:Array):void {
            var item:Book = new Book();
            item.setPublisher(node.attributes.publisher);
            item.setName(node.attributes.name);
            books.push(item);
        }

        private function getXMLString():String {
            var list:XML = <books>
                                <book publisher="Addison-Wesley" name="Design Patterns" />
                                <book publisher="Addison-Wesley" name="The Pragmatic Programmer" />
                                <book publisher="Addison-Wesley" name="Test Driven Development" />
                                <book publisher="Addison-Wesley" name="Refactoring to Patterns" />
                                <book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" />
                                <book publisher="O'Reilly Media" name="Unit Test Frameworks" />
                            </books>;
            return list.toXMLString();
        }
    }

}
class Book {
    private var publisher:String;
    private var name:String;

    public function setPublisher(publisher:String):void {
        this.publisher = publisher;
    }

    public function setName(name:String):void {
        this.name = name;
    }

    public function toString():String {
        return "[Book name: " + name + " publisher: " + publisher + "]\n";
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.