连接收集的值的Flex XMLListCollection迭代

连接收集的值的Flex XMLListCollection迭代,xml,apache-flex,actionscript-3,flex3,flexbuilder,Xml,Apache Flex,Actionscript 3,Flex3,Flexbuilder,我在FlexBuilder3中使用XMLListCollection,遇到了这个(应该很简单)解析障碍 XMLListCollection数据: <data> <term name="NUMBERS"> <alt_form name="1"/> </term> <term name="LETTERS"> <alt_form name="A"/> <

我在FlexBuilder3中使用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>
输出:

数字是我的列表项名称
1是我的列表子项名称
字母是我的列表项名称
ABC是我的列表子项名称


请注意,三个子节点名称值已连接为“ABC”。为了单独捕获子项名称值(A、B和C),我需要做哪些不同的操作?

您也需要循环子节点。调用
node.alt_form
将返回一个XMLList,因此请迭代:

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

为什么我没有想到,我不知道。。。你的例子很有魅力。谢谢你,马特!
private function iterateThroughXML(myList:XMLListCollection):void {
    for each (var node : XML in myList){
        trace(node.@name + " is my list item name");
        for each (var subnode : XML in node.alt_form) {
            if (subnode.@name != null) {
                trace(subnode.@name + " is my list SUB item name");
            }
        }
    }
}