我正在尝试从以下HTML代码中捕获<div class="num">
没有子元素的内容:
<div class="num">
<del>14,490</del>
13,490
</div>
所以我期待13,490
作为结果。
我使用以下xpath表达式:
//div[@class="num"]/node()[not(self::del)]
适用于此示例,但问题是div的内容可能会有所不同,有时它不包含子元素。
我正在使用Python并且可以在编码级别上处理这个问题,但我很好奇这是否只能通过xpath完成。
答案 0 :(得分:2)
您可以获得text()
:
//div[@class="num"]/text()
演示(使用xmllint
):
$ xmllint index.html --xpath '//div[@class="num"]/node()[not(self::del)]'
13,490
$ xmllint index.html --xpath '//div[@class="num"]/text()'
13,490
如果没有del
标记,这也会有用:
<div class="num">
13,490
</div>