gpt4 book ai didi

java - jSoup 没有正确地转义我的 HTML 实体

转载 作者:行者123 更新时间:2023-11-29 08:16:19 29 4
gpt4 key购买 nike

我有一个小示例程序可以从 HTML 文档中提取一些信息。

import org.jsoup.*;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

public class TestSoup {

public static void main(String[] args) {

String html = "<p>An <a href='http://example.com/'><b>exa&nbsp;mple</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();

String linkText = link.text(); // "example""
System.out.println(linkText);

}

}

如果您使用过 jSOup,您就会知道它的输出应该是 example 但输出是 exaámple。为什么 jSoup 没有正确地转义我的 HTML 实体,或者我只是做错了?

我的所有 HTML 实体都未正确转义,不仅是  

最佳答案

jSoup 工作正常,你的输出编码有问题。

在 Windows 中,控制台使用的字符编码(在您的情况下为 CP437)与系统编码(在您的情况下为 Windows-1252)不同。 System.out.println() 以系统默认编码输出您的字符串,因此它在控制台中显示不正确。

在 Java 1.6 中,您可以尝试使用 System.console() 代替:

System.console().writer().println(linkText); 

关于java - jSoup 没有正确地转义我的 HTML 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586890/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com