我搜索并尝试了几个解决此问题的方案,但没有一个有效: 我有这个HTML
<div class="detalhes_colunadados">
<div class="detalhescolunadados_blocos">
<h5>Descrição completa</h5>
Sala de estar/jantar,2 vagas de garagem cobertas.<br>
</div>
<div class="detalhescolunadados_blocos">
<h5>Valores</h5>
Venda: R$ 600.000,00<br>
Condomínio: R$ 660,00<br>
</div>
</div>
并且想要通过XPath仅提取第一个div class =“detalhescolunadados_blocos”中不是h5标签的文本内容。
我试过了: // DIV [@类= 'detalhescolunadados_blocos'] / [1] / * [没有(个体:: H5)]
答案 0 :(得分:11)
尝试以下XPath表达式:
//div[@class='detalhescolunadados_blocos'][1]//text()[not(ancestor::h5)]
这将返回:
$ xmllint --html --shell so.html
/ > xpath //div[@class='detalhescolunadados_blocos'][1]//text()[not(ancestor::h5)]
Object is a Node Set :
Set contains 2 nodes:
1 TEXT
content=
2 TEXT
content= Sala de estar/jantar,2 vagas de gar...
答案 1 :(得分:0)
在我看来,这有效:
//div[@class="detalhescolunadados_blocos"]/text()
答案 2 :(得分:0)
尝试这样做:
//div[@class="detalhes_colunadados"]/div/text()