Javascript E4X:根据属性值选择节点

时间:2009-07-22 16:34:59

标签: javascript e4x

考虑这种情况:

在非浏览器使用场景(Javascript HL7集成引擎)中使用Javascript / E4X,有一个变量包含一个可能有多个重复节点的XML片段。

<pets>       
 <pet type="dog">Barney</pet>
 <pet type="cat">Socks</pet>
</pets>

代码:

var petsXml; // pretend it holds the above xml value
//var cat = petsXml['pet']..... ?

问题:使用E4X,如何选择保持字符串'cat'值的type属性的正确宠物节点?

更新

E4X的一些经验:

  • 按属性值选择单个/第一个节点:var dog = petsXml.(@type == "dog");
  • 从一个节点的特定属性获取值:var petType = somePetNode.@type;

1 个答案:

答案 0 :(得分:2)

var petsXml;
var catList = petsXml.*.(@type == "cat");

请参阅here上的“过滤器”here或“参数化定位”。