Select XML nodes by attribute in AS3

2019-01-29 03:18发布

问题:

Trying to parse some XML (over which I have no control!)

In C# I would do something like:

XmlNodeList xnList = xml.SelectNodes("/Names/Name[@type='M']");

Can this be done in AS3?

回答1:

short answer, yes:

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

longer version:

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())

There's a pretty good E4X tutorial on the Yahoo Developer Network.

HTH