我有一个像这样的元素:
<td> TextA <br/> TextB </td>
如何单独提取文字和文字?
答案 0 :(得分:24)
有几种方法。这实际上取决于文档本身以及给定的HTML标记是否一致。在此特定示例中,您可以按Element#childNodes()
获取td
的子节点,然后单独测试每个节点是否为TextNode
。
E.g。
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 />
}会很好你的例子中的元素。)