java - 如何使用 Jsoup 提取单独的文本节点?

标签 java html-parsing jsoup

我有这样一个元素:

<td> TextA <br/> TextB </td>

如何分别提取Text和Text?

最佳答案

几种方式。这实际上取决于文档本身以及给定的 HTML 标记是否一致。在此特定示例中,您可以获得 td的子节点 Element#childNodes() 然后单独测试每个节点是否为 TextNode 还是不是。

例如

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 /> 元素)。

关于java - 如何使用 Jsoup 提取单独的文本节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7164376/

相关文章:

java - 如何检查我的 Java 应用程序是否可以在装有 JRE 1.6/1.7 的计算机上运行?

java - 获取异常 java.security.InvalidKeyException : Invalid AES key length: 29 bytes?

java - jsoup 从 header 检索特定表

java - Jsoup 查找具有特定文本的元素

java - 使用maven同时启动两个spring boot应用程序

java - 如何使用 java 库 Jodd Email 将图像嵌入到电子邮件的 html 正文中?

php - 解析这个 HTML

javascript - 提取脚本标签内的JS变量信息

Php正则表达式匹配包含特定类名的html标签

java - 无法获取特定类 (JSOUP) 内的图像 Url(使用原始数据定义)