什么是XPath找到只有一个节点(无论哪个)具有某个属性(实际上我对属性感兴趣,而不是节点)。例如,在我的XML中,我有几个具有lang属性的标签。我知道他们都必须具有相同的价值。我只想得到他们中的任何一个。XPath:找到一个属性节点(并且只有一个)
现在,我这样做://*[1][@lang]/@lang
,但它似乎不能正常工作,原因不明。我试图让我把所有的@lang值('en en en ...')连接到任何东西,有时候在我想要的而不是所有的XML中。
编辑:
其实//@lang[1]
不能工作,因为功能position()
是在lang
属性存在测试之前调用。所以它总是需要XML中找到的第一个元素。它在当时效果最好,因为很多次,lang属性都在根元素上。
不,我没有!乍一看似乎好多了,我马上做一个彻底的测试!谢谢。 – glmxndr 2009-07-09 07:25:37
实际上它不能正常工作,它会选择其父元素中的所有第一个lang元素。 – glmxndr 2009-07-21 08:36:00