Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用Jsoup提取单独的文本节点?_Java_Html Parsing_Jsoup - Fatal编程技术网

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

Java 如何使用Jsoup提取单独的文本节点?,java,html-parsing,jsoup,Java,Html Parsing,Jsoup,我有这样一个元素: <td> TextA <br/> TextB </td> TextATextB 如何分别提取文本A和文本B?有几种方法。这实际上取决于文档本身以及给定的HTML标记是否一致。在这个特定的示例中,您可以通过获取td的子节点,然后单独测试每个节点是否为a 例如 导致 TextA TextB TextA TextB 我认为如果Jsoup提供了一个元素#textNodes()或类似于元素#children()的东西来获取子元素(在您的示例中

我有这样一个元素:

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

如何分别提取文本A和文本B?

有几种方法。这实际上取决于文档本身以及给定的HTML标记是否一致。在这个特定的示例中,您可以通过获取
td
的子节点,然后单独测试每个节点是否为a

例如

导致

TextA TextB TextA TextB
我认为如果Jsoup提供了一个
元素#textNodes()
或类似于
元素#children()
的东西来获取子元素(在您的示例中,它会返回

元素),那就太好了。

我已经为1.6.2实现了元素#textNodes(),谢谢您的建议@JonathanHedley你是个救命恩人!我对你的辛勤工作感激不尽。你的代码和评论非常完美,为我节省了谷歌和StackOverflow的时间。 TextA TextB