在AS3中按属性选择XML节点

1 xml actionscript-3 xml-parsing

试图解析一些XML(我无法控制!)

在C#中我会做类似的事情:

XmlNodeList xnList = xml.SelectNodes("/Names/Name[@type='M']");
Run Code Online (Sandbox Code Playgroud)

这可以在AS3中完成吗?

Geo*_*nza 27

简短的回答,是的:

var xnList:XMLList = xml.Names.Name.(@type == "M");
Run Code Online (Sandbox Code Playgroud)

更长版本:

var xml:XML = <Root>
        <Names>
            <Name type="M" value="John Doe" />
            <Name type="F" value="Jane Doe" />
            <Name type="M" value="John Hancock" />
        </Names>
        <Other />
      </Root>

var xnList:XMLList = xml.Names.Name.(@type == "M");

//test
for each (var xnNode:XML in xnList) trace(xnNode.toXMLString())
Run Code Online (Sandbox Code Playgroud)

雅虎开发者网络上有一个非常好的E4X教程.

HTH