パッケージflash.xml
クラスpublic class XMLDocument
継承XMLDocument Inheritance XMLNode Inheritance Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

XMLDocument クラスは、ActionScript 2.0 にあった古い XML オブジェクトを表します。ActionScript 3.0 で新しい XML クラスと名前が競合しないように、ActionScript 3.0 では名前が XMLDocument に変更されています。ActionScript 3.0 では、E4X(ECMAScript for XML)をサポートしている新しい XML クラスおよび関連クラスを使用することをお勧めします。

XMLDocument クラスと、XMLNode および XMLNodeType があるのは、後方互換性を維持するためです。XML ドキュメントをロードする機能は、現在では URLLoader クラスにあります。

例を表示

関連項目

flash.net.URLLoader
XML クラス


パブリックプロパティ
 プロパティ定義元
 Inheritedattributes : Object
指定された XMLNode インスタンスのすべての属性を含むオブジェクトです。
XMLNode
 InheritedchildNodes : Array
[読み取り専用] 指定された XMLNode オブジェクトの子の配列です。
XMLNode
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  docTypeDecl : Object = null
XML ドキュメントの DOCTYPE 宣言についての情報を指定します。
XMLDocument
 InheritedfirstChild : XMLNode
指定された XMLDocument オブジェクトを評価し、親ノードの子リスト内の最初の子を参照します。
XMLNode
  idMap : Object
id 属性が割り当てられた XML のノードを含むオブジェクトです。
XMLDocument
  ignoreWhite : Boolean = false
true を設定すると、空白のみを含むテキストノードは解析処理中に破棄されます。
XMLDocument
 InheritedlastChild : XMLNode
ノードの子リスト内の最後の子を参照する XMLNode 値です。
XMLNode
 InheritedlocalName : String
[読み取り専用] XML ノード名のローカル名部分です。
XMLNode
 InheritednamespaceURI : String
[読み取り専用] XML ノードに接頭辞が付いている場合、namespaceURI はその接頭辞(URI)の xmlns 宣言の値となります。これは通常、名前空間 URI と呼ばれます。
XMLNode
 InheritednextSibling : XMLNode
親ノードの子リスト内の次の子ノードを参照する XMLNode 値です。
XMLNode
 InheritednodeName : String
XMLNode オブジェクトのノード名を表すストリングです。
XMLNode
 InheritednodeType : uint
nodeType 定数値です。XML エレメントの場合は XMLNodeType.ELEMENT_NODE、テキストノードの場合は XMLNodeType.TEXT_NODE になります。
XMLNode
 InheritednodeValue : String
XMLDocument オブジェクトのノード値です。
XMLNode
 InheritedparentNode : XMLNode
指定された XML オブジェクトの親ノードを参照する XMLNode 値です。ノードに親がない場合は null を返します。
XMLNode
 Inheritedprefix : String
[読み取り専用] XML ノード名の接頭辞部分です。
XMLNode
 InheritedpreviousSibling : XMLNode
親ノードの子リスト内の前の子ノードを参照する XMLNode 値です。
XMLNode
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  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
  
value パラメータで指定された XML テキストを解析し、指定された XMLDocument オブジェクトに XML ツリーを設定します。
XMLDocument
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
 Inherited
指定された XML オブジェクトをその親から削除します。
XMLNode
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
[override] XML オブジェクトのストリング表現を返します。
XMLDocument
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
docTypeDeclプロパティ
public var docTypeDecl:Object = null

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

XML ドキュメントの DOCTYPE 宣言についての情報を指定します。XML テキストが解析され XMLDocument オブジェクトになると、XMLDocument オブジェクトの XMLDocument.docTypeDecl プロパティはその XML ドキュメントの DOCTYPE 宣言(例えば <!DOCTYPEgreeting SYSTEM "hello.dtd"> など)のテキストに設定されます。このプロパティは、XMLNode オブジェクトでなく DOCTYPE 宣言のストリング表現を使用して設定されます。

古い ActionScript の XML パーサーは、妥当性検証用パーサーではありません。DOCTYPE 宣言はパーサーにより読み取られ、XMLDocument.docTypeDecl プロパティに格納されますが、DTD の妥当性検査は行われません。

解析中に DOCTYPE 宣言が見つからなかった場合、XMLDocument.docTypeDecl プロパティは null に設定されます。XML.toString() メソッドは、XML.docTypeDecl の内容を、XML.xmlDecl に保存されている XML 宣言のすぐ後、XML オブジェクト内の他のテキストよりも前に出力します。XMLDocument.docTypeDecl が null である場合、DOCTYPE 宣言は出力されません。

idMapプロパティ 
public var idMap:Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

id 属性が割り当てられた XML のノードを含むオブジェクトです。ノードを格納する各オブジェクトのプロパティの名前は 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>
  

この例では、この XMLDocument オブジェクトの idMap プロパティは、4142IT という 3 つのプロパティを持つオブジェクトです。これらのプロパティはそれぞれ対応する id 値を持つ XMLNode です。たとえば、IT プロパティ(idMap オブジェクトのプロパティ)は次のノードになります。

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

XMLDocument オブジェクトの parseXML() メソッドを使用して、idMap プロパティをインスタンス化する必要があります。

同じ id 値を持つ XMLNode が複数ある場合は、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

true を設定すると、空白のみを含むテキストノードは解析処理中に破棄されます。先頭または末尾に空白があるテキストノードは影響を受けません。デフォルト設定は、false です。

次のコードに示すように、XMLDocument オブジェクトごとに ignoreWhite プロパティを設定できます。

  my_xml.ignoreWhite = true;
  

xmlDeclプロパティ 
public var xmlDecl:Object = null

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ドキュメントの XML 宣言についての情報を指定するストリング。XML ドキュメントが XMLDocument オブジェクトに解析された後、このプロパティはドキュメントの XML 宣言のテキストに設定されます。このプロパティは、XMLNode オブジェクトでなく XML 宣言のストリング表現を使用して設定されます。解析中に XML 宣言が見つからなかった場合、プロパティは null に設定されます。XMLDocument.toString() メソッドは、XML オブジェクト内の他のテキストの前に、XML.xmlDecl プロパティの内容を出力します。XML.xmlDecl プロパティに null が含まれている場合、XML 宣言は出力されません。

コンストラクタの詳細
XMLDocument()コンストラクタ
public function XMLDocument(source:String = null)

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

新しい XMLDocument オブジェクトを作成します。XMLDocument クラスのメソッドを呼び出す前に、コンストラクタを使用して XMLDocument オブジェクトを作成する必要があります。

メモ:createElement() メソッドおよび createTextNode() メソッドを使用して、XML ドキュメントツリーにエレメントとテキストノードを追加します。

パラメータ
source:String (default = null) — 新しい XMLDocument オブジェクトを作成するために解析される XML テキストです。

関連項目

メソッドの詳細
createElement()メソッド
public function createElement(name:String):XMLNode

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

パラメータで指定された名前を持つ新しい XMLNode オブジェクトを作成します。初期状態では、新しいノードには、親、子、および兄弟はありません。このメソッドは、エレメントとして新しく作成された XMLNode オブジェクトへの参照を返します。このメソッドと XMLDocument.createTextNode() メソッドは、XMLDocument オブジェクトのノードを作成するためのコンストラクタメソッドです。

パラメータ

name:String — 作成する XMLDocument エレメントのタグ名です。

戻り値
XMLNode — XMLNode オブジェクトです。

関連項目

createTextNode()メソッド 
public function createTextNode(text:String):XMLNode

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

指定されたテキストを持つ新しい XML テキストノードを作成します。初期状態では、新しいノードには親がありません。また、テキストノードは、子または兄弟を持つことができません。このメソッドは、新しいテキストノードを表す XMLDocument オブジェクトへの参照を返します。このメソッドと XMLDocument.createElement() メソッドは、XMLDocument オブジェクトのノードを作成するためのコンストラクタメソッドです。

パラメータ

text:String — 新しいテキストノードを作成するためのテキストです。

戻り値
XMLNode — XMLNode オブジェクトです。

関連項目

parseXML()メソッド 
public function parseXML(source:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

value パラメータで指定された XML テキストを解析し、指定された XMLDocument オブジェクトに XML ツリーを設定します。XMLDocument オブジェクト内の既存のツリーはすべて破棄されます。

パラメータ

source:String — 解析され、指定した XMLDocument オブジェクトに渡される XML テキストです。

toString()メソッド 
override public function toString():String

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

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";
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/xml/XMLDocument.html