2011-03-02 63 views
1

我有一些看起來像這樣如何從Flex中/的Actionscript XML檢索節點名稱

<root xsi:noNamespaceSchemaLocation="test1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <configuration> 
    <CLICK/> 
    <KLT/> 
    <DETd/> 
    </configuration> 
</root> 

我得到使用

VAR結果配置的列表數據的XML數據:的XMLList = 。xml.configuration *;

現在我想遍歷XMLList並輸出CLICK,KLT,DETd等,但如何在XML我會得到節點名這樣

回答

7

XML:

<root> 
    <parentNode> 
     <childNode1>1</childNode1> 
     <childNode2>2</childNode2> 
     <childNode3>3</childNode3> 
    </parentNode> 
</root> 

所有您需要do使用.name(),同時通過parentNodechildren()進行迭代。

for(var i:int=0;i<xml.children()[0].children().length();i++) 
{ 
    var currentNode:XML = xml.children()[0].children()[i]; 
    trace(currentNode.name()); 
} 

//childNode1 
//childNode2 
//childNode3 

更多:

  1. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XMLList.html
  2. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XML.html
1

只需使用name的訪問。

for each (var prop:XML in xml.configuration.*) 
{ 
    trace(prop.name()); 
} 

你有xml.configuration.*列出需要什麼,所以你是在那裏的一半。只需將每個元素作爲迭代中的XML(每個循環都帶一個)。

1

您可以使用名稱()方法中的任何XML節點上,像這樣:

for each(var n:XML in results){ 
    trace(n.name()); 
} 

將輸出:

CLICK 
KLT 
DETd 
相關問題