パッケージ | flash.xml |
クラス | public class XMLDocument |
継承 | XMLDocument XMLNode Object |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
XMLDocument クラスと、XMLNode および XMLNodeType があるのは、後方互換性を維持するためです。XML ドキュメントをロードする機能は、現在では URLLoader クラスにあります。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
attributes : Object
指定された XMLNode インスタンスのすべての属性を含むオブジェクトです。 | XMLNode | ||
childNodes : Array [読み取り専用]
指定された XMLNode オブジェクトの子の配列です。 | XMLNode | ||
constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | ||
docTypeDecl : Object = null
XML ドキュメントの DOCTYPE 宣言についての情報を指定します。 | XMLDocument | ||
firstChild : XMLNode
指定された XMLDocument オブジェクトを評価し、親ノードの子リスト内の最初の子を参照します。 | XMLNode | ||
idMap : Object
id 属性が割り当てられた XML のノードを含むオブジェクトです。 | XMLDocument | ||
ignoreWhite : Boolean = false
true を設定すると、空白のみを含むテキストノードは解析処理中に破棄されます。 | XMLDocument | ||
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 | ||
xmlDecl : Object = null
ドキュメントの XML 宣言についての情報を指定するストリングです。 | XMLDocument |
メソッド | 定義元 | ||
---|---|---|---|
XMLDocument(source:String = null)
新しい XMLDocument オブジェクトを作成します。 | XMLDocument | ||
指定されたノードを XML オブジェクトの子リストに追加します。 | XMLNode | ||
指定された XML オブジェクトと同じタイプ、名前、値、および属性を持つ新しい XML ノードを作成し、返します。 | XMLNode | ||
パラメーターで指定された名前を持つ新しい XMLNode オブジェクトを作成します。 | XMLDocument | ||
指定されたテキストを持つ新しい XML テキストノードを作成します。 | XMLDocument | ||
ノードに指定された接頭辞に関連付けられている名前空間 URI を返します。 | XMLNode | ||
ノードに指定された名前空間 URI に関連付けられている接頭辞を返します。 | XMLNode | ||
指定された XMLNode オブジェクトに子ノードがあるかどうかを示します。 | XMLNode | ||
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | ||
XML オブジェクトの子リスト内の beforeNode ノードの前に新しい子ノードを挿入します。 | XMLNode | ||
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | ||
value パラメーターで指定された XML テキストを解析し、指定された XMLDocument オブジェクトに XML ツリーを設定します。 | XMLDocument | ||
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | ||
指定された XML オブジェクトをその親から削除します。 | XMLNode | ||
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | ||
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | ||
[オーバーライド]
XML オブジェクトのストリング表現を返します。 | XMLDocument | ||
指定されたオブジェクトのプリミティブな値を返します。 | Object |
docTypeDecl | プロパティ |
public var docTypeDecl:Object = null
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
XML ドキュメントの DOCTYPE
宣言についての情報を指定します。XML テキストが解析され XMLDocument オブジェクトになると、XMLDocument オブジェクトの XMLDocument.docTypeDecl
プロパティはその XML ドキュメントの DOCTYPE
宣言(例えば <!DOCTYPE
greeting 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, Flash Lite 4 |
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
プロパティは、41
、42
および IT
という 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, Flash Lite 4 |
true
を設定すると、空白のみを含むテキストノードは解析処理中に破棄されます。先頭または末尾に空白があるテキストノードは影響を受けません。デフォルト設定は、false
です。
次のコードに示すように、XMLDocument オブジェクトごとに ignoreWhite
プロパティを設定できます。
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 宣言のテキストに設定されます。このプロパティは、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, Flash Lite 4 |
新しい XMLDocument オブジェクトを作成します。XMLDocument クラスのメソッドを呼び出す前に、コンストラクターを使用して XMLDocument オブジェクトを作成する必要があります。
注意:XML ドキュメントツリーにエレメントとテキストノードを追加するには、createElement()
メソッドおよび createTextNode()
メソッドを使用します。
source:String (default = null ) — 新しい XMLDocument オブジェクトを作成するために解析される XML テキストです。
|
関連する 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 | () | メソッド |
toString | () | メソッド |
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"; } }
Tue Jun 12 2018, 10:34 AM Z