0
<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 

親ノードの名前を取得するにはどうすればよいですか? この例では、その親を知りたいです。アイテム > フレーム > フロント > エンデューロ

4

1 に答える 1

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);
    }
  }
}

これは簡単な例です。もちろん、メソッドを介して特定のデータにアクセスする必要があります。

于 2013-01-01T21:16:05.293 に答える