使用Jsoup解析文本时如何获得要点?

问题描述

我正在使用Jsoup从html文档获取文本并将其显示在我的android应用中。

文本包含一个列表(

  • )。

    如果我这样做,我只会得到以下文本:

    val doc = Jsoup.parse(someHtml)
            return doc.text()
    

    我尝试使用WholeText:

    val doc = Jsoup.parse(removeImages)
            return doc.wholeText()
    

    通过这种方式,它保留了一些格式,但是仍然忽略了要点。有什么方法可以在文本中获得要点?

解决方法

项目符号是由浏览器呈现的,因此它们不是文本的一部分。
您必须自己添加它,例如以下示例:

String html = "<html>" +
            "<head>" +
            "<title>List</title>" +
            "</head>" +
            "<body>" +
             "<ul>" +
              "<li>Item 1</li>" +
              "<li>Item 2</li>" +
              "<li>Item 3</li>" +
            "</ul> " +
            "</body>" +
            "</html>";
Document doc = Jsoup.parse(html);
Element list = doc.select("ul").first();
Elements item = list.children();
for (Element e : item) {
    System.out.println("\u2022" + e.text());
}   

输出为:

•项目1
•项目2
•项目3
通过将\u2022代码替换为任何其他有效的代码/字符,可以将子弹替换为所需的任何其他字符。