我想使用 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")])]
有没有更好的(更少的代码,更高效,更干燥)的方式来选择我想要的东西?