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

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

XMLNode クラスは、ActionScript 2.0 にあり、ActionScript 3.0 で名前が変更された、古い XML オブジェクトを表します。ActionScript 3.0 では、代わりに E4X(ECMAScript for XML)をサポートする新しいトップレベルの XML クラスおよび関連クラスを使用することをお勧めします。XMLNode クラスがあるのは、後方互換性を維持するためです。

例を表示

関連項目

XML
flash.xml.XMLDocument


パブリックプロパティ
 プロパティ定義元
  attributes : Object
指定された XMLNode インスタンスのすべての属性を含むオブジェクトです。
XMLNode
  childNodes : Array
[読み取り専用] 指定された XMLNode オブジェクトの子の配列です。
XMLNode
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  firstChild : XMLNode
指定された XMLDocument オブジェクトを評価し、親ノードの子リスト内の最初の子を参照します。
XMLNode
  lastChild : XMLNode
ノードの子リスト内の最後の子を参照する XMLNode 値です。
XMLNode
  localName : String
[読み取り専用] XML ノード名のローカル名部分です。
XMLNode
  namespaceURI : String
[読み取り専用] XML ノードに接頭辞が付いている場合、namespaceURI はその接頭辞(URI)の xmlns 宣言の値となります。これは通常、名前空間 URI と呼ばれます。
XMLNode
  nextSibling : XMLNode
親ノードの子リスト内の次の子ノードを参照する XMLNode 値です。
XMLNode
  nodeName : String
XMLNode オブジェクトのノード名を表すストリングです。
XMLNode
  nodeType : uint
nodeType 定数値です。XML エレメントの場合は XMLNodeType.ELEMENT_NODE、テキストノードの場合は XMLNodeType.TEXT_NODE になります。
XMLNode
  nodeValue : String
XMLDocument オブジェクトのノード値です。
XMLNode
  parentNode : XMLNode
指定された XML オブジェクトの親ノードを参照する XMLNode 値です。ノードに親がない場合は null を返します。
XMLNode
  prefix : String
[読み取り専用] XML ノード名の接頭辞部分です。
XMLNode
  previousSibling : XMLNode
親ノードの子リスト内の前の子ノードを参照する XMLNode 値です。
XMLNode
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
XMLNode(type:uint, value:String)
新しい XMLNode オブジェクトを作成します。
XMLNode
  
指定されたノードを XML オブジェクトの子リストに追加します。
XMLNode
  
指定された XML オブジェクトと同じタイプ、名前、値、および属性を持つ新しい XML ノードを作成し、返します。
XMLNode
  
ノードに指定された接頭辞に関連付けられている名前空間 URI を返します。
XMLNode
  
ノードに指定された名前空間 URI に関連付けられている接頭辞を返します。
XMLNode
  
指定された XMLNode オブジェクトに子ノードがあるかどうかを示します。
XMLNode
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
XML オブジェクトの子リスト内の beforeNode ノードの前に新しい子ノードを挿入します。
XMLNode
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
指定された XML オブジェクトをその親から削除します。
XMLNode
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
指定された XMLNode オブジェクトを評価し、ノード、子、および属性を含む XML 構造体のテキスト表現を作成し、結果をストリングとして返します。
XMLNode
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
attributesプロパティ
attributes:Object

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

指定された XMLNode インスタンスのすべての属性を含むオブジェクトです。XMLNode 属性オブジェクトには、XMLNode インスタンスの各属性に対して 1 つずつ変数があります。この変数はオブジェクトの一部として定義されているので、通常はオブジェクトのプロパティとして参照されます。各属性の値は、対応するプロパティにストリングとして保存されます。たとえば、color という名前の属性がある場合、次のコードで示すように、color をプロパティ名として指定して、その属性の値を取得することができます。

  var myColor:String = doc.firstChild.attributes.color
  



実装
    public function get attributes():Object
    public function set attributes(value:Object):void
childNodesプロパティ 
childNodes:Array  [読み取り専用]

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

指定された XMLNode オブジェクトの子の配列です。配列内の各エレメントは、子ノードを表す XMLNode オブジェクトへの参照です。これは読み取り専用プロパティなので、子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

テキストノード(nodeType == 3)の場合、このプロパティは undefined になります。



実装
    public function get childNodes():Array

関連項目

firstChildプロパティ 
public var firstChild:XMLNode

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

指定された XMLDocument オブジェクトを評価し、親ノードの子リスト内の最初の子を参照します。このプロパティは、ノードに子がないときは null です。ノードがテキストノードの場合、このプロパティは undefined です。これは読み取り専用プロパティなので、子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

関連項目

lastChildプロパティ 
public var lastChild:XMLNode

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

ノードの子リスト内の最後の子を参照する XMLNode 値。XMLNode.lastChild プロパティは、ノードに子がないときは null です。このプロパティは子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

関連項目

localNameプロパティ 
localName:String  [読み取り専用]

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

XML ノード名のローカル名部分。名前空間の接頭辞を除いたエレメント名です。たとえば、ノード <contact:mailbox/>bob@example.com</contact:mailbox> には、ローカル名 "mailbox" と接頭辞 "contact" があり、この 2 つで完全なエレメント名 "contact.mailbox" が構成されます。

名前空間の接頭辞には、XML ノードオブジェクトの prefix プロパティによってアクセスできます。nodeName プロパティは、接頭辞とローカル名を含む完全な名前を返します。



実装
    public function get localName():String
namespaceURIプロパティ 
namespaceURI:String  [読み取り専用]

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

XML ノードに接頭辞が付いている場合、namespaceURI はその接頭辞(URI)の xmlns 宣言の値となります。これは通常、名前空間 URI と呼ばれます。xmlns 宣言は、現在のノードか、XML 階層でそれより上位のノードにあります。

XML ノードに接頭辞が付いていない場合、namespaceURI プロパティの値は、定義済みのデフォルトの名前空間(たとえば xmlns="http://www.example.com/"/")があるかどうかによって異なります。デフォルト名前空間がある場合、namespaceURI プロパティの値はデフォルトの名前空間の値です。デフォルトの名前空間がない場合、そのノードの namespaceURI プロパティは空のストリング("")です。

getNamespaceForPrefix() メソッドを使用すると、特定の接頭辞に関連付けられている名前空間を特定できます。namespaceURI プロパティは、ノード名に関連付けられている接頭辞を返します。



実装
    public function get namespaceURI():String

関連項目

nextSiblingプロパティ 
public var nextSibling:XMLNode

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

親ノードの子リスト内の次の子ノードを参照する XMLNode 値。子リストに次のノードがない場合、このプロパティは null になります。このプロパティは子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

関連項目

nodeNameプロパティ 
public var nodeName:String

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

XMLNode オブジェクトのノード名を表すストリングです。XMLNode オブジェクトが XML エレメントである場合(nodeType == 1)、nodeName は XML ファイル内のノードを表すタグの名前です。例えば、TITLEnodeName(HTML TITLE タグ)です。 XMLNode オブジェクトがテキストノードである(nodeType == 3)場合、nodeName は null です。

関連項目

nodeTypeプロパティ 
public var nodeType:uint

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

nodeType の定数値。XML エレメントの場合は XMLNodeType.ELEMENT_NODE、テキストノードの場合は XMLNodeType.TEXT_NODE になります。

nodeType は、W3C DOM レベル 1 勧告(http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core.html)の NodeType の一覧に記載されている数値です。次の表は、これらの数値の一覧です。

整数値定義されている定数
1ELEMENT_NODE
2ATTRIBUTE_NODE
3TEXT_NODE
4CDATA_SECTION_NODE
5ENTITY_REFERENCE_NODE
6ENTITY_NODE
7PROCESSING_INSTRUCTION_NODE
8COMMENT_NODE
9DOCUMENT_NODE
10DOCUMENT_TYPE_NODE
11DOCUMENT_FRAGMENT_NODE
12NOTATION_NODE

Flash Player に組み込まれている XMLNode クラスがサポートするのは、XMLNodeType.ELEMENT_NODEXMLNodeType.TEXT_NODE だけです。

関連項目

nodeValueプロパティ 
public var nodeValue:String

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

XMLDocument オブジェクトのノード値です。XMLDocument オブジェクトがテキストノードである場合、nodeType は 3 であり、nodeValue はノードのテキストです。XMLDocument オブジェクトが XML エレメントである (nodeType が 1) 場合、nodeValuenull で、読み取り専用です。

関連項目

parentNodeプロパティ 
public var parentNode:XMLNode

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

指定された XML オブジェクトの親ノードを参照する XMLNode 値。ノードに親がない場合は null を返します。これは読み取り専用プロパティなので、子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

関連項目

prefixプロパティ 
prefix:String  [読み取り専用]

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

XML ノード名の接頭辞部分。たとえば、ノード <contact:mailbox/>bob@example.com</contact:mailbox> には、ローカル名 "mailbox" と接頭辞 "contact" があり、この 2 つで完全なエレメント名 "contact.mailbox" が構成されます。

XML ノードオブジェクトの nodeName プロパティは、接頭辞とローカル名を含む完全な名前を返します。エレメント名のローカル名部分には、localName プロパティ経由でアクセスできます。



実装
    public function get prefix():String
previousSiblingプロパティ 
public var previousSibling:XMLNode

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

親ノードの子リスト内の前の子ノードを参照する XMLNode 値。ノードに前の子ノードがない場合は、null を返します。このプロパティは子ノードの操作には使用できません。子ノードを操作するには、appendChild() メソッド、insertBefore() メソッド、および removeNode() メソッドを使用します。

関連項目

コンストラクタの詳細
XMLNode()コンストラクタ
public function XMLNode(type:uint, value:String)

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

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

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

パラメータ
type:uint — ノードタイプは、XML エレメントの場合は 1、テキストノードの場合は 3 になります。
 
value:String — 新しい XMLNode オブジェクトを作成するために解析される XML テキストです。

関連項目

メソッドの詳細
appendChild()メソッド
public function appendChild(node:XMLNode):void

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

指定されたノードを XML オブジェクトの子リストに追加します。このメソッドは、パラメータ childNode で参照されるノードに対して直接実行されます。ノードのコピーが追加されるわけではありません。追加するノードが別のツリー構造内に既に存在している場合は、ノードを新しい場所に追加すると現在の場所からノードが削除されます。パラメータ childNode が、別の XML ツリー構造内に既に存在しているノードを参照している場合、追加される子ノードは、今までの親ノードから削除された後で新しいツリー構造に置かれます。

パラメータ

node:XMLNode — 現在の場所から my_xml オブジェクトの子リストに移動されるノードを表す XMLNode です。

関連項目

cloneNode()メソッド 
public function cloneNode(deep:Boolean):XMLNode

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

指定された XML オブジェクトと同じタイプ、名前、値、および属性を持つ新しい XML ノードを作成し、返します。deeptrue を設定すると、すべての子ノードのクローンが再帰的に作成されるため、元のオブジェクトのドキュメントツリーが正確に複製されます。

返されるノードのクローンは、クローン作成元のアイテムのツリーとは関連がなくなります。その結果、nextSiblingparentNode、および previousSibling の値はすべて null になります。deep パラメータが false の場合、または my_xml ノードに子ノードがない場合は、firstChildlastChild も null です。

パラメータ

deep:Boolean — ブール値です。true に設定した場合、指定された XML オブジェクトの子のクローンが再帰的に作成されます。

戻り値
XMLNode — XMLNode オブジェクトです。
getNamespaceForPrefix()メソッド 
public function getNamespaceForPrefix(prefix:String):String

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

ノードに指定された接頭辞に関連付けられている名前空間 URI を返します。URI を特定するために、getPrefixForNamespace() は XML 階層をノードから上方向に検索し、最初の xmlns 宣言の名前空間 URI を必要に応じて返します。この名前空間 URI は、指定された prefix に関連付けられているものです。

指定された接頭辞に対して定義されている名前空間がない場合は、null 値が返されます。

空のストリング("")を prefix として指定する場合、ノードに対して定義されているデフォルトの名前空間(たとえば xmlns="http://www.example.com/")があると、このメソッドはデフォルトの名前空間 URI を返します。

パラメータ

prefix:String — このメソッドが返す名前空間に関連付けられている接頭辞です。

戻り値
String — 指定された接頭辞に関連付けられている名前空間です。

関連項目

getPrefixForNamespace()メソッド 
public function getPrefixForNamespace(ns:String):String

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

ノードに指定された名前空間 URI に関連付けられている接頭辞を返します。接頭辞を特定するために、getPrefixForNamespace() は XML 階層をノードから上方向に検索し、最初の xmlns 宣言の接頭辞を必要に応じて返します。この接頭辞は、ns に一致する名前空間 URI に関連付けられているものです。

その URI に対応する xmlns 宣言がない場合、null が返されます。その URI に対応する xmlns 宣言はあるが、その宣言に関連付けられている接頭辞がない場合は、空のストリング("")が返されます。

パラメータ

ns:String — このメソッドが返す接頭辞に関連付けられている名前空間 URI です。

戻り値
String — 指定された名前空間に関連付けられている接頭辞です。

関連項目

hasChildNodes()メソッド 
public function hasChildNodes():Boolean

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

指定された XMLNode オブジェクトに子ノードがあるかどうかを示します。このプロパティは、指定された XMLNode オブジェクトに子ノードがある場合は true で、それ以外の場合は false です。

戻り値
Boolean — 指定された XMLNode オブジェクトに子ノードがある場合は true を、それ以外の場合は false を返します。
insertBefore()メソッド 
public function insertBefore(node:XMLNode, before:XMLNode):void

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

XML オブジェクトの子リスト内の beforeNode ノードの前に新しい子ノードを挿入します。beforeNode パラメータが未定義または null である場合、ノードは appendChild() メソッドを使用して追加されます。beforeNodemy_xml の子でない場合、挿入は失敗します。

パラメータ

node:XMLNode — 挿入される XMLNode オブジェクトです。
 
before:XMLNodechildNode の挿入位置の直前の XMLNode オブジェクトです。

関連項目

removeNode()メソッド 
public function removeNode():void

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

指定された XML オブジェクトをその親から削除します。また、ノードのすべての子孫も削除します。

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

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

指定された XMLNode オブジェクトを評価し、ノード、子、および属性を含む XML 構造体のテキスト表現を作成し、結果をストリングとして返します。

トップレベルの XMLDocument オブジェクト(コンストラクタで作成されたオブジェクト)の場合は、XMLDocument.toString() メソッドがドキュメントの XML 宣言(保存場所は XMLDocument.xmlDecl プロパティ)を出力し、その後にドキュメントの DOCTYPE 宣言(保存場所は XMLDocument.docTypeDecl プロパティ)を続け、さらにオブジェクト内のすべての XML ノードのテキスト表現を続けます。XML 宣言は、XMLDocument.xmlDecl プロパティが null の場合は出力されません。DOCTYPE 宣言は、XMLDocument.docTypeDecl プロパティが null の場合は出力されません。

戻り値
String — XMLNode オブジェクトを表すストリングです。

関連項目

例の使用法
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/XMLNode.html