2013-04-11 7 views
3

Я встречаю позицию, когда я использую jsoup для извлечения данных. Эти данные, как это:Как получить текст из этого тега html с помощью jsoup?

This is a <strong>strong</strong> number <date>2013</date> 

Я хочу, чтобы получить данные, как это: This is a number

Как я могу это сделать? Может кто-нибудь мне помочь?

ответ

4

Вы можете разобрать HTML в Document, выберите body -элементные и получить его текст.

Пример:

Document doc = Jsoup.parse("This is a <strong>strong</strong> number <date>2013</date>"); 

String ownText = doc.body().ownText(); 
String text = doc.body().text(); 

System.out.println(ownText); 
System.out.println(text); 

Выход:

This is a number 
This is a strong number 2013 
+0

Спасибо очень маш! – user2269351

3

Это должно ответить на ваш вопрос:

public String escapeHtml(String source) { 
    Document doc = Jsoup.parseBodyFragment(source); 
    Elements elements = doc.select("b"); 
    for (Element element : elements) { 
     element.replaceWith(new TextNode(element.toString(),"")); 
    } 
    return Jsoup.clean(doc.body().toString(), new Whitelist().addTags("a").addAttributes("a", "href", "name", "rel", "target")); 
} 

Jsoup - Howto clean html by escaping not deleting the unwanted html?

0
Document doc = Jsoup.parse("This is a <strong>strong</strong> number <date>2013</date>"); 

Spanned HtmlDoc = Html.fromHtml(doc.toString()); 
String fromHTML = HtmlDoc.toString(); 

System.out.println(fromHTML); 
Смежные вопросы