【发布时间】:2011-05-17 02:16:15
【问题描述】:
假设我正在查询一个 xhtml 文档,并且我想查询带有 id='target' 的表后面的所有兄弟姐妹。此外,我既不想要这个特定元素的第一个 <table> 同级,也不想要第一个 <ol> 同级。这是我能想到的最好的:
//table[@id='target']/following-sibling::*[not(self::table[1]) and not(self::ol[1])]
但是,这并没有在应该返回任何结果的时候返回。显然我不理解其中的一些语法(我找不到好的信息来源)。如果在 XPath 语法方面更有经验的人可以帮助我,我当然会很感激。另外,出于纯粹的学术目的,我很好奇上述内容实际上在做什么。
更新:
请参阅 LarsH 的回答以了解为什么我的 XPath 无法正常工作,并参阅 Dimitre 的回答以了解已接受的解决方案。
【问题讨论】:
-
好问题,+1。请参阅我对一个 XPath 表达式的回答,该表达式准确地选择了想要的节点。 :)