我刚刚开始使用XPath并遇到问题。这是我想要提取的代码:
<h3>Some Company</h3>
Mainstreet 1234
<br>
98776, Country
<br>
如何在结束h3和br标签之间提取内容?
答案 0 :(得分:2)
这可能有效h3/following-sibling::node()[not(preceding-sibling::br) and not(self::br)]
(对我来说,返回“Mainstreet 1234”)。
但是我很害怕你真正的xml和实际需求比提供的样本更复杂,所以你可能需要进一步调整它以满足你的要求。
答案 1 :(得分:1)
如果您的代码位于以下区域中:
<par>
<h3>Some Company</h3>
Mainstreet 1234
<br>
98776, Country
</br>
</par>
您需要告诉XPath在h3节点之后和br节点之前的每个par节点内提供文本。 在XPath术语中,这转换为:
//par/text()[preceding::*[name()='h3'] and following::*[name()='br']]
以上内容将在文档中的任何位置搜索par节点。您还可以更具体地了解h3和/或br节点的内容:
//par/text()[preceding::*[name()='h3' and text()='Some Company'] and following::*[name()='br']]
如果上述问题无法解决您的问题,请与我们联系。
答案 2 :(得分:0)
尝试//h3/following-sibling::text()[following::br]