JSoup-按标签获取标签之间的文本

时间:2016-05-19 14:37:32

标签: java jsoup apache-tika

场景:我使用Apache TikaXHTML文件中获取DOCX。我需要解析此XHTML以获取特定标记之间的文本(例如div或p标记)。为此,我使用Jsoup在标记之间获取文本。

问题:最初XHTML有此文字:

some text [tab-space][tab-space] other text.

但是Jsoup我得到了这个:

some text other text.

因此标签空间丢失但我需要按原样获取文本,即包括tag-spaces。是否可以使用Jsoup执行此操作,或者是否还有其他Java库可以执行此操作?

1 个答案:

答案 0 :(得分:5)

对TextNodes使用getWholeText方法:https://jsoup.org/apidocs/org/jsoup/nodes/TextNode.html#getWholeText--

final Document doc = Jsoup.parse(new File(".\\source.xhtml"), "UTF-8");

for (Element result : doc.select("div")) {
    final String text = ((TextNode) result.childNode(0)).getWholeText();
    System.out.println(text);
}