2010-02-17 29 views
2

我在Flex Builder 3爲XMLListCollection工作,(應該是簡單的)都遇到了這個解析問題...的Flex的XMLListCollection迭代串聯收集的值

的數據的XMLListCollection:

<data> 
    <term name="NUMBERS"> 
     <alt_form name="1"/> 
    </term> 
    <term name="LETTERS"> 
     <alt_form name="A"/> 
     <alt_form name="B"/> 
     <alt_form name="C"/> 
    </term> 
</data> 

的AS功能:

private function interateThroughXML(myList:XMLListCollection):void { 
    for each (var node : XML in myList){ 
     trace([email protected] + " is my list item name"); 
     if ([email protected] != null) { 
      trace([email protected] + " is my list SUB item name"); 
     } 
    } 
} 

輸出:

號碼是我的清單項目名稱
1是我的清單子項名稱
字母是我的清單項目名稱
ABC是我的清單子項名稱

注意,這三個子節點名稱值已被級聯作爲「ABC」。爲了分別捕獲子項目名稱值(A,B和C),我需要做些什麼改變?

回答

3

您還需要遍歷子節點。調用node.alt_form回報的XMLList,所以迭代是:

private function iterateThroughXML(myList:XMLListCollection):void { 
    for each (var node : XML in myList){ 
     trace([email protected] + " is my list item name"); 
     for each (var subnode : XML in node.alt_form) { 
      if ([email protected] != null) { 
       trace([email protected] + " is my list SUB item name"); 
      } 
     } 
    } 
} 
+0

爲什麼沒有發生對我來說,我不知道......你的榜樣插入式和發揮就像一個魅力。感謝一堆馬特! – taipan