如何使用Jsoup提取单独的文本节点?
2022-09-02 04:02:05
我有一个这样的元素:
<td> TextA <br/> TextB </td>
如何分别提取 TextA 和 TextB?
我有一个这样的元素:
<td> TextA <br/> TextB </td>
如何分别提取 TextA 和 TextB?
有几种方式。这实际上取决于文档本身以及给定的HTML标记是否一致。在这个特定的例子中,你可以通过 Element#childNodes()
获取 的子节点,然后单独测试每个节点是否是 TextNode
。td
例如:
Element td = getItSomehow();
for (Node child : td.childNodes()) {
if (child instanceof TextNode) {
System.out.println(((TextNode) child).text());
}
}
这导致
TextA TextB
我认为如果Jsoup提供一个或其他东西来获取子文本节点,就像获取子元素一样(这将在你的示例中返回元素)会很好。Element#textNodes()
Element#children()
<br />