我正在尝试从JavaScript获取XML节点的属性。
item.selectNodes( “机箱[@url]”)
这不像我想的那样工作:(
任何提示?
谢谢!
答案 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
。这将为您提供第一个匹配节点,而不是所有匹配节点的集合。