我需要获取条目的节点号,但我只有 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>
谢谢。乌里
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
功能(以及其他一些功能)适用于单个节点。但是,如果您的输入示例有多个节点具有相同的属性值用于检索,您将获得节点列表(即 an 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 ...
}