场景:我使用Apache Tika
从XHTML
文件中获取DOCX
。我需要解析此XHTML
以获取特定标记之间的文本(例如div或p标记)。为此,我使用Jsoup
在标记之间获取文本。
问题:最初XHTML
有此文字:
some text [tab-space][tab-space] other text.
但是Jsoup
我得到了这个:
some text other text.
因此标签空间丢失但我需要按原样获取文本,即包括tag-spaces
。是否可以使用Jsoup
执行此操作,或者是否还有其他Java
库可以执行此操作?
答案 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);
}