如何引用名称为关键字的AS3中的xml节点,如<object> x </object>或<name> x </name>?

时间:2010-06-18 14:01:22

标签: xml actionscript-3

我正在尝试解析AS3中的一些xml,但我试图调用的节点是名为'name'和'object'的关键字。我可以以某种方式逃避这些话吗?

2 个答案:

答案 0 :(得分:2)

正如MrKishi已经指出的那样,这些关键字并不总是一个问题,所以你可以使用常规语法。

但是有些情况下,有效的xml标记和属性名称都不是有效的动作脚本(在我的脑海中,当xml结构中有连字符时会发生这种情况)。

解决方法是使用方括号和/或更详细的方法调用。

var xml:XML =
    <xml>
        <node-with-hyphens attr-with-hyphens="123">Object 1</node-with-hyphens>
    </xml>;

trace(xml["node-with-hyphens"]);
trace(xml.child("node-with-hyphens"));
trace(xml["node-with-hyphens"].attribute("attr-with-hyphens"));

答案 1 :(得分:0)

怎么样......

var xml:XML =
    <xml>
        <name>Name 1</name>
        <name>Name 2</name>
        <object>Object 1</object>
        <object>Object 2</object>
    </xml>;

trace(xml.name);
trace(xml.object);
//They are both XMLLists.

只需使用常规E4X语法即可。关于它的更多信息here