我有以下html。
<div id="content">
<h3>Title</h3>
<p>Some stuff</p>
<p>other stuff</p>
<p>other other stuff</p>
<p>unnecessary stuff</p>
<p>other unnecessary stuff</p>
</div>
到目前为止,我已经写过这个表达。
//div[@id="content"]//text()
哪个有效,但我想要的不是提取最后2个<p>
元素的文本,因为这是不必要的。我试着写这个......
//div[@id="content"]/p[not(position() > last() - 2)]//text()
哪个没有按预期工作。然后我试了这个......
//div[@id="content"]/[not(self::p[position() > last() - 2])]//text()
哪个也行不通。
答案 0 :(得分:2)
此表达式返回您感兴趣的文本节点:
//div[@id="content"]/*[not(self::p and position() > last() - 2)]//text()
*
之后您错过了/
。