从某些xml我想找到具有特定属性和值的项目.
这是xml的示例:
dont want this one
(节点可以包含节点......)
我需要找到第一个基于它的名为"NAME"的属性和值为"thisone"的属性.
然后我需要它的父(节点).
我试过这个:
specialItems = tempXML.*.(hasOwnProperty("NAME"));
但似乎没有做任何事情.
??
谢谢!
在ActionScript中,您通常会使用E4X而不是XPath.你想要的是这样的:
var xml:XML =... ; var selected:XMLList = xml.descendants().(attribute("NAME") == "thisone"); var first:XML = selected[0]; var parent:XML = first.parent();
如果你知道你想要的节点是a special
,那么你可以使用:
var selected:XMLList = xml..special.(attribute("NAME") == "thisone");
代替.这是一个很好的E4X教程.
如果使用@NAME == "thisone"
语法,则需要在所有XML节点上使用NAME属性,但如果使用attribute()
运算符语法则不需要.
我在parent()
上面添加了这个电话; 您可以通过仅在条件中使用子项直接获取父级:
xml..node.(child("special").attribute("NAME") == "thisone");