1

如何解析包含存在下划线的节点的 XML 文档?

<some_xml>
    <child_node>
        <child width_info="" height_info="" />
    </childnode>
</some_xml>

我试过这个:

for each (var item:XML in Environment._XMLData.some_xml.child_node.child){
    trace(child.@width_info);
}

但这似乎不起作用。我也无法更改 XML,因为它来自第三方。任何帮助都会很棒。提前致谢!

4

2 回答 2

3

问题是 some_xml 是你的根节点,所以你不需要包含它。

这应该有效:

for each (var item:XML in Environment._XMLData.child_node.child){
    trace(item.@width_info);
}
于 2010-05-06T15:57:11.023 回答
0

要记住的是 .NODE 和 .ATTRIBUTE 分别是 .child("NODE") 和 .attribute("ATTRIBUTE") 的快捷方式(根据遍历 XML 结构(c/o the livedocs)

所以我认为以下内容会起作用(代码未经测试,但理论应该是合理的)。

for each (var item:XML in Environment._XMLData.child("child_node").child){
    trace(child.@width_info);
}

请注意,如果未定义该属性,您将收到运行时错误 - 您可以通过执行以下任一操作来防止这种情况:

if(child.hasOwnProperty("width_info"))
    trace(child.@width_info);

或者只使用属性

trace(child.attribute("width_info"));
于 2010-05-06T01:17:11.117 回答