2012-03-23 89 views
0

我试过了不愿意寻求帮助,但我已经受够了!我正在尝试获取节点的子元素;除了具有特定ID的一个以外。这是我迄今为止:XPath - 获取没有特定标识的子元素

//*[@id='a']/*[@id!='b'] 

它在某种程度上起作用。它获取'a'的所有子元素都没有'b'标识,但我希望它获取所有子元素,而不管它是否具有id属性。

任何想法?

+0

@Phil已经给出了解决方案,但为什么你的表情并不意味着你打算什么它是也许值得一提。在xpath中使用'!='最简单的规则是不使用它,它很少意味着什么是预期的。 infix condiditionals_all_都有一个隐含的_exists_量化因此'@id!='b''意味着“存在一个id属性不等于'b'”,如果没有id属性,你观察到的是不正确的。 'not(@ id ='b')'意味着:不存在id属性等于'b'的情况。 – 2012-03-23 11:00:09

+0

谢谢大卫,我不知道。我对使用XPath相对缺乏经验。 – TheBoss 2012-03-23 14:23:51

回答

2

尝试使用not(),如

//*[@id="a"]/*[not(@id="b")] 
+0

谢谢,它完美的作品! – TheBoss 2012-03-23 14:25:27