编程语言
首页 > 编程语言> > java – JSoup-按标签获取标签之间的文本

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

作者:互联网

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

问题:最初XHTML有这样的文字:

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

但是对于Jsoup,我得到了这个:

some text other text.

所以标签空间丢失但我需要得到文本,即包括标签空间.是否可以使用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);
}

标签:java,jsoup,apache-tika
来源: https://codeday.me/bug/20190829/1758278.html