有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用jsoup将HTML解析为格式化的明文

我正在从事一个maven项目,该项目允许我解析网站上的html数据。我可以使用下面的代码解析它:

public void parseData(){
        String url = "http://stackoverflow.com/help/on-topic";
        try {
            Document doc = Jsoup.connect(url).get();
            Element essay = doc.select("div.col-section").first();
            String essayText = essay.text();
            jTextAreaAdem.setText(essayText);


        } catch (IOException ex) {
            Logger.getLogger(formAdem.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

到目前为止我没有问题。我可以解析html数据。 我使用了jsoup中的select方法,并使用“div.col-section”检索数据,这意味着我正在查找类为col-section的div元素。 我想在文本区打印数据。结果,我有一个巨大的一段,即使在网站上的真实数据是一个以上的段落。那么,如何像解析网站上的数据一样解析数据呢


共 (1) 个答案

  1. # 1 楼答案

    它没有格式化的原因是,格式化是在带有<p><ol>标记等的HTML中进行的。对块元素调用.text()会丢失该格式化

    Jsoup有一个例子HTML to Plain Text convertor,您可以通过提供div元素作为焦点来适应您的需要

    或者,您可以选择^{},遍历每个元素,并用换行符打印文本