ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
flash.xml 

XMLDocument  - AS3

Paketflash.xml
Klassepublic class XMLDocument
VererbungXMLDocument Inheritance XMLNode Inheritance Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Die XMLDocument-Klasse stellt das bisherige XML-Objekt aus ActionScript 2.0 dar. Es wurde in ActionScript 3.0 in „XMLDocument“ umbenannt, um Namenskonflikte mit der neuen XML-Klasse von ActionScript 3.0 zu vermeiden. Verwenden Sie in ActionScript 3.0 stattdessen bevorzugt die neue XML-Klasse sowie deren zugehörige Klassen, die E4X (ECMAScript for XML) unterstützen.

Die XMLDocument-Klasse sowie „XMLNode“ und „XMLNodeType“ gibt es aus Gründen der Abwärtskompatibilität. Die Funktionen zum Laden von XML-Dokumenten finden Sie nun in der URLLoader-Klasse.

Beispiele anzeigen

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedattributes : Object
Ein Objekt, das alle Attribute der angegebenen XMLNode-Instanz enthält.
XMLNode
 InheritedchildNodes : Array
[schreibgeschützt] Ein Array mit den untergeordneten Knoten des angegebenen XMLNode-Objekts.
XMLNode
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  docTypeDecl : Object = null
Gibt Informationen über die DOCTYPE-Deklaration eines XML-Dokuments an.
XMLDocument
 InheritedfirstChild : XMLNode
Wertet das angegebene XMLDocument-Objekt aus und verweist auf den ersten untergeordneten (Child-)Knoten in der untergeordneten Liste des übergeordneten (Parent-)Knotens.
XMLNode
  idMap : Object
Ein Objekt mit den XML-Knoten, denen ein id-Attribut zugeordnet ist.
XMLDocument
  ignoreWhite : Boolean = false
Ist diese Eigenschaft auf „true“ gesetzt, werden Textknoten, die nur Leerräume enthalten, bei der Analyse gelöscht.
XMLDocument
 InheritedlastChild : XMLNode
Ein XMLNode-Wert, der auf den letzten untergeordneten Knoten in der untergeordneten Liste verweist.
XMLNode
 InheritedlocalName : String
[schreibgeschützt] Der Teil des XML-Knotennamens, der den lokalen Namen angibt.
XMLNode
 InheritednamespaceURI : String
[schreibgeschützt] Wenn der XML-Knoten ein Präfix aufweist, ist „namespaceURI“ der Wert der xmlns-Deklaration für dieses Präfix (der URI), der normalerweise als Namespace-URI bezeichnet wird.
XMLNode
 InheritednextSibling : XMLNode
Ein XMLNode-Wert, der auf den nächsten Geschwisterknoten in der untergeordneten Liste des übergeordneten Knotens verweist.
XMLNode
 InheritednodeName : String
Ein String, der den Knotennamen des XMLNode-Objekts angibt.
XMLNode
 InheritednodeType : uint
Eine nodeType-Konstante, die entweder XMLNodeType.ELEMENT_NODE (XML-Element) oder XMLNodeType.TEXT_NODE (Textknoten) ist.
XMLNode
 InheritednodeValue : String
Der Knotenwert des XMLDocument-Objekts.
XMLNode
 InheritedparentNode : XMLNode
Ein XMLNode-Wert, der auf den übergeordneten Knoten des angegebenen XML-Objekts verweist, oder „null“ zurückgibt, wenn der Knoten keinen übergeordneten Knoten besitzt.
XMLNode
 Inheritedprefix : String
[schreibgeschützt] Der Teil des XML-Knotennamens, der das Präfix angibt.
XMLNode
 InheritedpreviousSibling : XMLNode
Ein XMLNode-Wert, der auf den vorigen Geschwisterknoten in der untergeordneten Liste des übergeordneten Knotens verweist.
XMLNode
  xmlDecl : Object = null
Ein String, der Informationen zur XML-Deklaration eines Dokuments angibt.
XMLDocument
Öffentliche Methoden
 MethodeDefiniert von
  
XMLDocument(source:String = null)
Erstellt ein neues XMLDocument-Objekt.
XMLDocument
 Inherited
Hängt den angegebenen Knoten an die untergeordnete (Child-)Liste des XML-Objekts an.
XMLNode
 Inherited
Erstellt einen neuen XML-Knoten vom gleichen Typ und mit dem gleichen Namen und Wert sowie den gleichen Attributen wie das angegebene XML-Objekt und gibt diesen zurück.
XMLNode
  
Erstellt ein neues XMLNode-Objekt mit dem im Parameter angegebenen Namen.
XMLDocument
  
Erstellt einen neuen XML-Textknoten mit dem angegebenen Text.
XMLDocument
 Inherited
Gibt den Namespace-URI zurück, der mit dem angegebenen Präfix für den Knoten verknüpft ist.
XMLNode
 Inherited
Gibt das Präfix zurück, das mit dem angegebenen Namespace-URI für den Knoten verknüpft ist.
XMLNode
 Inherited
Gibt an, ob dem jeweiligen XMLNode-Objekt weitere Knoten untergeordnet sind.
XMLNode
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Fügt in die untergeordnete (Child-)Liste des XML-Objekts vor dem beforeNode-Knoten einen neuen untergeordneten Knoten ein.
XMLNode
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Analysiert den im Parameter „value“ angegebenen XML-Text und fügt die dabei entstehende XML-Struktur in das angegebene XMLDocument-Objekt ein.
XMLDocument
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Entfernt das angegebene XML-Objekt aus dem übergeordneten Knoten.
XMLNode
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
[override] Gibt das XML-Objekt als String zurück.
XMLDocument
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

docTypeDecl

Eigenschaft
public var docTypeDecl:Object = null

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt Informationen über die DOCTYPE-Deklaration eines XML-Dokuments an. Nachdem der XML-Text in ein XMLDocument-Objekt eingelesen wurde, wird die XMLDocument.docTypeDecl-Eigenschaft des XMLDocument-Objekts auf den Text der DOCTYPE-Deklaration des XML-Dokuments gesetzt (beispielsweise <!DOCTYPE greeting SYSTEM "hello.dtd">). Diese Eigenschaft wird anhand einer Stringdarstellung der DOCTYPE-Deklaration und nicht anhand eines XMLNode-Objekts festgelegt.

Der XML-Parser vorheriger Versionen von ActionScript ist kein validierender Parser. Die DOCTYPE-Deklaration wird vom Parser gelesen und in der XMLDocument.docTypeDecl-Eigenschaft gespeichert, eine Validierung der DTD wird jedoch nicht durchgeführt.

Wenn bei der Analyse keine DOCTYPE-Deklaration gefunden wurde, wird die Eigenschaft XMLDocument.docTypeDecl auf null gesetzt. Die XML.toString()-Methoden gibt den Inhalt von XML.docTypeDecl unmittelbar nach der in XML.xmlDecl gespeicherten XML-Deklaration und vor jedem anderen Text im XML-Objekt aus. Wenn XMLDocument.docTypeDecl den Wert „null“ aufweist, wird keine DOCTYPE-Deklaration ausgegeben.

idMap

Eigenschaft 
public var idMap:Object

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ein Objekt mit den XML-Knoten, denen ein id-Attribut zugeordnet ist. Die Namen der Objekteigenschaften (jeweils mit einem Knoten) entsprechen den Werten der id-Attribute.

Betrachten Sie das folgende XMLDocument-Objekt:

     <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>
     

In diesem Beispiel ist die idMap-Eigenschaft dieses XMLDocument-Objekts ein Objekt mit drei Eigenschaften: 41, 42 und IT. Jede dieser Eigenschaften ist ein XMLNode mit dem entsprechenden id-Wert. Die Eigenschaft IT des Objekts idMap befindet sich beispielsweise in diesem Knoten:

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

Sie müssen die parseXML()-Methode auf das XMLDocument-Objekt anwenden, damit die idMap-Eigenschaft instanziiert wird.

Sind mehrere XMLNode-Objekte mit dem gleichen id-Wert vorhanden, ist die entsprechende Eigenschaft des idNode-Objekts die des zuletzt analysierten Knotens. Beispiel:

     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']);
     
Dadurch wird der <c>-Knoten ausgegeben:
     <c id='1' />
     

ignoreWhite

Eigenschaft 
public var ignoreWhite:Boolean = false

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ist diese Eigenschaft auf true gesetzt, werden Textknoten, die nur Leerräume enthalten, bei der Analyse gelöscht. Textknoten mit voran- oder nachgestellten Leerzeichen sind nicht davon betroffen. Der Standardwert ist false.

Sie können die ignoreWhite-Eigenschaft für einzelne XMLDocument-Objekte einstellen, wie im folgenden Code dargestellt:

     my_xml.ignoreWhite = true;
     

xmlDecl

Eigenschaft 
public var xmlDecl:Object = null

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Ein String, der Informationen zur XML-Deklaration eines Dokuments angibt. Nachdem das XML-Dokument in ein XMLDocument-Objekt eingelesen wurde, wird diese Eigenschaft auf den Text der XML-Deklaration des Dokuments gesetzt. Diese Eigenschaft wird anhand einer Stringdarstellung der XML-Deklaration und nicht anhand eines XMLNode-Objekts festgelegt. Wenn bei der Analyse keine XML-Deklaration gefunden wurde, wird die Eigenschaft auf null gesetzt. Die XMLDocument.toString()-Methode gibt den Inhalt der XML.xmlDecl-Eigenschaft vor sonstigem Text im XML-Objekt aus. Wenn die XML.xmlDecl-Eigenschaft den Wert null enthält, wird keine XML-Deklaration ausgegeben.

Konstruktordetails

XMLDocument

()Konstruktor
public function XMLDocument(source:String = null)

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein neues XMLDocument-Objekt. Vor dem Aufruf einer Methode der XMLDocument-Klasse muss der Konstruktor zum Erstellen eines XMLDocument-Objekts verwendet werden.

Hinweis: Verwenden Sie die createElement()- und createTextNode()-Methode, um einer XML-Dokumentstruktur Elemente und Textknoten hinzuzufügen.

Parameter
source:String (default = null) — Der XML-Text, der zum Erstellen des neuen XMLDocument-Objekts analysiert wurde.

Verwandte API-Elemente

Methodendetails

createElement

()Methode
public function createElement(name:String):XMLNode

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt ein neues XMLNode-Objekt mit dem im Parameter angegebenen Namen. Der neue Knoten hat zunächst keinen übergeordneten, keine untergeordneten und keine Geschwisterknoten. Die Methode gibt einen Verweis auf das neu erstellte XMLNode-Objekt zurück, das das Element darstellt. Diese Methode und die XMLDocument.createTextNode()-Methoden sind die Konstruktormethoden zum Erstellen von Knoten für ein XMLDocument-Objekt.

Parameter

name:String — Der Tag-Name des XMLDocument-Elements, das erstellt werden soll.

Rückgabewerte
XMLNode — Ein XMLNode-Objekt.

Verwandte API-Elemente

createTextNode

()Methode 
public function createTextNode(text:String):XMLNode

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Erstellt einen neuen XML-Textknoten mit dem angegebenen Text. Der neue Knoten hat zunächst keinen übergeordneten Knoten. Textknoten können keine untergeordneten oder Geschwisterknoten aufweisen. Diese Methode gibt einen Verweis auf das XMLDocument-Objekt zurück, das den neuen Textknoten darstellt. Diese Methode und die XMLDocument.createElement()-Methoden sind die Konstruktormethoden zum Erstellen von Knoten für ein XMLDocument-Objekt.

Parameter

text:String — Der Text, der zum Erstellen des neuen Textknotens verwendet wird.

Rückgabewerte
XMLNode — Ein XMLNode-Objekt.

Verwandte API-Elemente

parseXML

()Methode 
public function parseXML(source:String):void

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Analysiert den im Parameter value angegebenen XML-Text und fügt die dabei entstehende XML-Struktur in das angegebene XMLDocument-Objekt ein. Alle im XMLDocument-Objekt vorhandenen Strukturen werden verworfen.

Parameter

source:String — Der XML-Text, der analysiert und an das angegebene XMLDocument-Objekt übergeben werden soll.

toString

()Methode 
override public function toString():String

Sprachversion: ActionScript 3.0
Laufzeitversionen: AIR 1.0, Flash Player 9, Flash Lite 4

Gibt das XML-Objekt als String zurück.

Rückgabewerte
String — Eine Stringdarstellung des XML-Objekts.
XMLDocumentExample.as

Im folgenden Beispiel werden die Klassen XMLDocument und XMLNode zum Analysieren und Formatieren eines XML-Dokuments verwendet. Im Beispiel wird keine externe XML-Datei geladen, sondern es wird eine XML-Klasse der obersten Ebene verwendet, um ein XML-Dokument zu erstellen und dieses anschließend zu analysieren.
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 ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.