【问题标题】:How do I retrieve the node name from XML in Flex / Actionscript如何从 Flex / Actionscript 中的 XML 检索节点名称
【发布时间】:2011-03-02 03:59:43
【问题描述】:

我有一些看起来像这样的数据 xml 数据

<root xsi:noNamespaceSchemaLocation="test1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <configuration>
    <CLICK/>
    <KLT/>
    <DETd/>
  </configuration>
</root>

我得到一个配置列表使用

var 结果:XMLList = xml.configuration.*;

现在我想循环遍历 XMLList 并输出 CLICK、KLT、DETd 等,但是我如何在 XML 中获得这样的节点名称

【问题讨论】:

    标签: xml apache-flex actionscript-3


    【解决方案1】:

    XML:

    <root>
        <parentNode>
            <childNode1>1</childNode1>
            <childNode2>2</childNode2>
            <childNode3>3</childNode3>
        </parentNode>
    </root>
    

    您需要做的就是在遍历parentNodechildren() 时使用.name()

    for(var i:int=0;i<xml.children()[0].children().length();i++)
    {
        var currentNode:XML = xml.children()[0].children()[i];
        trace(currentNode.name());
    }
    
    //childNode1
    //childNode2
    //childNode3
    

    更多:

    1. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XMLList.html
    2. http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/XML.html

    【讨论】:

      【解决方案2】:

      只需使用name 作为访问器。

      for each (var prop:XML in xml.configuration.*) 
      { 
          trace(prop.name());
      }
      

      你有 xml.configuration.* 列出需要的东西,所以你已经完成了一半。只需将每个元素作为迭代中的 XML(每个循环都有一个 for)。

      【讨论】:

        【解决方案3】:

        您可以在任何 XML 节点上使用 name() 方法,如下所示:

        for each(var n:XML in results){
            trace(n.name());
        }
        

        将输出:

        CLICK
        KLT
        DETd
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-10
          • 1970-01-01
          • 1970-01-01
          • 2019-02-03
          • 1970-01-01
          相关资源
          最近更新 更多