【问题标题】:Flex XMLListCollection Iteration Concatenating Collected ValuesFlex XMLListCollection 迭代连接收集的值
【发布时间】:2010-02-17 19:09:42
【问题描述】:

我正在使用 XMLListCollection 在 flex builder 3 中工作,并且遇到了这个(应该很简单)解析障碍......

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(node.@name + " is my list item name");
        if (node.alt_form.@name != null) {
            trace(node.alt_form.@name + " is my list SUB item name");
        }
    }
}

输出:

NUMBERS 是我的列表项名称
1 是我的列表 SUB 项目名称
字母是我的列表项名称
ABC 是我的列表 SUB 项目名称

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

【问题讨论】:

    标签: xml apache-flex actionscript-3 flex3 flexbuilder


    【解决方案1】:

    您还需要遍历子节点。调用 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");
                }
            }
        }
    }
    

    【讨论】:

    • 为什么我没有想到,我不知道...您的示例即插即用就像一个魅力。非常感谢马特!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    相关资源
    最近更新 更多