エントリのノード番号を取得する必要がありますが、LOG_IDしかありません。その数をどのように見つけますか?
<LOG>
<ENTRY LOG_ID="01042012"/>
<ENTRY LOG_ID="03052012"/>
<ENTRY LOG_ID="09052012"/>
</LOG>
ありがとう。ウリ
エントリのノード番号を取得する必要がありますが、LOG_IDしかありません。その数をどのように見つけますか?
<LOG>
<ENTRY LOG_ID="01042012"/>
<ENTRY LOG_ID="03052012"/>
<ENTRY LOG_ID="09052012"/>
</LOG>
ありがとう。ウリ
ここで説明されているようにE4X処理を使用し、入門ドキュメントを使用します。
var myXML:XML =
<LOG>
<ENTRY LOG_ID="01042012"/>
<ENTRY LOG_ID="03052012"/>
<ENTRY LOG_ID="09052012"/>
</LOG>
trace( myXML.ENTRY.(@LOG_ID==09052012).childIndex() ); /* retrieve entire node */
このノードへの参照をXML
オブジェクトに保存することもできます。
var index:int = myXML.ENTRY.(@LOG_ID==09052012).childIndex();
注:このchildindex
関数(およびその他のいくつか)は、個々のノードで機能します。ただし、入力例に、取得に使用しているのと同じ属性値を持つ複数のノードがある場合、単一のノードではなく、ノードのリスト(つまり、)を取得しXMLList
ます。さて、そのような子供たちのインデックスを見つけるために、あなたは以下をする必要があるでしょう:
for each ( var selectedNode in myXML.ENTRY.(@LOG_ID==09052012) )
trace( selectedNode.childIndex() );
E4Xクエリがリストを返したかどうかは、次の方法でいつでも確認できます。
var candidates:XMLList = myXML.ENTRY.(@LOG_ID==09052012) as XMLList;
if (candidates != null) { // a list
// do something ...
}