代码之家  ›  专栏  ›  技术社区  ›  alvincrespo

使用包含下划线的节点解析XML

  •  1
  • alvincrespo  · 技术社区  · 16 年前

    如何解析包含有下划线的节点的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);
    }
    

    2 回复  |  直到 7 年前
        1
  •  3
  •   jonathanasdf    16 年前

    问题是有些xml是您的根节点,因此不需要包含它。

    这应该起作用:

    for each (var item:XML in Environment._XMLData.child_node.child){
        trace(item.@width_info);
    }
    
        2
  •  0
  •   merlinc    16 年前

    需要记住的是.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"));