从JavaScript和XML中的selectNodes获取属性?

时间:2011-10-06 08:27:04

标签: javascript xml xpath

我正在尝试从JavaScript获取XML节点的属性。

item.selectNodes( “机箱[@url]”)

这不像我想的那样工作:(

任何提示?

谢谢!

2 个答案:

答案 0 :(得分:5)

[@url]

是一个谓词,它不会选择属性,而是过滤具有url属性的“enclosure”节点。

在XPath中,

enclosure/@url

会选择属性。

答案 1 :(得分:2)

此:

item.selectNodes("enclosure[@url]")

将为您提供具有enclosure属性的url个节点的集合。

要获取url个节点上的enclosure个属性节点的集合,请执行以下操作:

item.selectNodes("enclosure/@url")

然后必须循环以获取每个值。请记住,这会为您提供属性节点,而不是属性。您可以使用attributeNode.nodeValue从节点获取值。

如果您只想要一个此类节点,请使用selectSingleNode代替selectNodes。这将为您提供第一个匹配节点,而不是所有匹配节点的集合。