保持jsoup中的换行符以在android listview中显示

时间:2016-03-22 04:25:22

标签: java android listview jsoup

Heu们我有一个应用程序,我使用jsoup解析一个html文件,在android的listview中显示所选文本。但是,我似乎无法找到一种方法来保持回车 以下是我的尝试:

Elements br = doc.select("br");

    for (Element src : br) {
         src.append("\n");
     }

为您举例说明字符串

<div
This is a string <br> another string
/>

解析并显示:

This is a string another string

我尝试过使用

src.append("\\n");

显示

This is a string \n another string

我正在使用字符串的arraylist来存储这些变量。

我一直试图找到解决这个问题的方法但没有运气,我尝试了以下主题的解决方案:

How do I preserve line breaks when using jsoup to convert html to plain text?

Removing HTML entities while preserving line breaks with JSoup

1 个答案:

答案 0 :(得分:0)

当你尝试src.append("\\n");时,看起来你只有一个反斜杠。

无论如何,您发布的第一个链接应该指向正确的方向,这样的事情应该有效:

// parse the doc and select the element containing the text
Elements es = Jsoup
    .parse("<html><body><div>a \ntext<br/>is <b>a</a> text</div></html></body")
    .select("div");

// find <br> tags and replace them (using an arbitrary placeholder '~n~')
es.select("br").append("~n~");
// clean all tags
String clean = Jsoup.clean(es.html(), Whitelist.none());
// replace the placeholder with a real newline
String disp = clean.replaceAll("~n~", "\n");

现在disp将打印:

a text 
is a text