如何解析包含存在下划线的节点的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,因为它来自第三方。任何帮助都会很棒。提前谢谢!
答案 0 :(得分:3)
问题是some_xml是你的根节点,所以你不需要包含它。
这应该有效:
for each (var item:XML in Environment._XMLData.child_node.child){
trace(item.@width_info);
}
答案 1 :(得分:0)
要记住的是.NODE和.ATTRIBUTE分别是.child(“NODE”)和.attribute(“ATTRIBUTE”)的快捷方式(根据Traversing XML structures (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"));