开发者

Flex XMLListCollection Iteration Concatenating Collected Values

I am working in flex builder 3 with an XMLListCollection and have run into this (should be simple) parsing snag...

The XMLListCollection Data:

<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>

The AS Function:

private function interateThroughXML(myList:XMLListCollection):void {
    for each (var node : XML in myList){
        trace(node.@name + " is my list item name");
        if (node.alt_form.@name != null) {
            trace(node.alt_form.@name + " 开发者_开发百科is my list SUB item name");
        }
    }
}

The Output:

NUMBERS is my list item name

1 is my list SUB item name

LETTERS is my list item name

ABC is my list SUB item name

Note that the three subnode name values have been concatenated as "ABC". What do I need to do differently in order to capture the sub-item name values (A, B, and C) individually?


You need to loop through the subnodes, too. Calling node.alt_form returns an XMLList, so iterate over that:

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");
            }
        }
    }
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜