获取具有其父名称的节点值

时间:2013-01-01 20:41:02

标签: xml actionscript-3

<root>    
<helmets>
        <enduro>
            <front>
                <frames>
                    <item>
                        <![CDATA[assets/helmet.jpg]]>
                    </item>
                </frames>
                <buttons>
                    <item>
                        <![CDATA[assets/helmet.jpg]]>
                    </item>
                </buttons>
            </front>
            <side>
                <frames>
                    <item>
                        <![CDATA[assets/helmet.jpg]]>
                    </item>
                </frames>
                <buttons>
                    <item>
                        <![CDATA[assets/helmet.jpg]]>
                    </item>
                </buttons>
            </side>
        </enduro>
    </root>

例如,我选择了一个项目;

XML.children().children().children().children()[0]; //assets/helmet.jpg 

如何获取父节点的名称?对于这个例子,我想知道它的父母喜欢; item&gt;帧&gt;前面&gt;耐力赛

1 个答案:

答案 0 :(得分:1)

这是从XML实例获取数据的一种非常不方便且容易出错的方法。

package {

  import flash.display.Sprite;
  import flash.text.TextField;

  public class XMLExample extends Sprite {

    public function XMLExample() {

      const data:XML =
          <root>
            <helmets>
              <enduro>
                <front>
                  <frames>
                    <item>
                      <![CDATA[assets/helmet.jpg]]>
                    </item>
                  </frames>
                </front>
              </enduro>
            </helmets>
          </root>;

      const list:XMLList = data..item,
          parentName:String = list[0].parent().name(),
          textField:TextField = new TextField();

      textField.text = parentName;
      addChild(textField);
    }
  }
}

这将是一个简单的例子。当然,您应该通过方法访问某些数据。