【发布时间】:2013-07-29 23:41:25
【问题描述】:
我有很多 html,想通过 xpath 处理它。文本出现的可能方式有两种:
<div>
The Text
</div>
<!-- OR -->
<div>
<span>The Text</span>
</div>
<!-- BUT NOT -->
<div> other text
<span>The Text</span>
</div> other text
有没有一种方法可以使用单个 xpath 表达式获取“文本”?
编辑:
具体结构:
<div id="content">
<h1>...</h1>
<div>
...
</div>
<div>
<span>The Text</span>
</div>
我通过 //div[@id='content'][1] 获取 content 节点并将其重用于其他目的。在这个上下文节点上,我尝试执行./div[2]/span/text() | ./div[not(span)][2]/text()。如果没有跨度,它可以工作,但如果有生成,则返回空白/null。我正在使用 Java xpath 实现。 div 始终是 content-node 的第二个。
【问题讨论】:
-
获取 div 并读取其 textContent 属性
-
显示您尝试过的 XPath、结果是什么以及它与您想要的结果有何不同会很有帮助。