【发布时间】:2012-07-12 20:50:26
【问题描述】:
我想使用 XPath 来查找每个 <blockquote> 元素,其中至少有一个子 <pre> 元素,没有其他类型的子元素,并且可以选择文本节点作为子元素:
<body><div><!-- arbitrary nesting -->
<blockquote><pre>YES</pre></blockquote>
<blockquote><p>NO</p></blockquote>
<blockquote><pre>NO</pre><p>NO</p></blockquote>
<blockquote><p>NO</p><pre>NO</pre></blockquote>
<blockquote><pre>YES</pre> <pre>YES</pre></blockquote>
<blockquote>NO</blockquote>
</div></body>
这个 XPath 似乎可以工作,但我怀疑它过于复杂:
//blockquote[pre][not(*[not(name()="pre")])]
是否有更好(更少代码、更高效、更 DRY)的方式来选择我想要的内容?
【问题讨论】:
标签: xpath