2016-05-19 3 views
3

Сценарий: Я использовал Apache Tika получить XHTML из DOCX файла. Мне нужно разобрать этот XHTML, чтобы получить текст между определенными тегами (например, div или p tag). Для этого я использую Jsoup, чтобы получить текст между тегами.JSoup- Получение текста между тегами как

Проблема: Первоначально XHTML имеет этот текст:

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

Но с Jsoup я получаю это:

some text other text. 

Так теги пространства не хватает, но мне нужно, чтобы получить текст как есть, включая tag-spaces. Можно ли это сделать с помощью Jsoup или есть ли другая библиотека Java?

ответ

5

Используйте метод getWholeText для TextNodes: 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); 
} 
+0

Спасибо .... это работает именно так, как я хотел :-) –

Смежные вопросы