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