繁体   English   中英

如何在 jsoup 中更改元素的文本?

[英]How do I change the text of an Element in jsoup?

我正在遍历 HTML 文档并更改元素的文本,但 Jsoup 在尝试更改任何元素的文本时不起作用。 我的代码是:

            // URL
            String url = "http://example.com/source.html";

            Document doc = Jsoup.connect(url)
                       .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                       .referrer("http://www.google.com") 
                       .ignoreHttpErrors(true).get();

            // Select all of the elements in the HTML
            Elements eles = doc.body().select("*");
            // For each element
            for (Element ele : eles) {

                String text = ele.ownText();
                System.out.println(text);
                ele.text("newText");

            }

            File htmlFile = new File("output.html");
            PrintWriter pw = new PrintWriter(htmlFile, "UTF-8");
            // Write our translated HTML to the output file
            pw.println(doc);
            pw.close();

我得到的 HTML 主体是:

 <body>
  newText
 </body>

您正在使用.select("*")选择文档中的所有元素,效果是您也替换了<body>的内容,因此其他所有内容都丢失了。 尝试更具体地选择元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM