Java jSoup isn';我不能正确地删除HTML实体
我有一个从HTML文档中提取一些信息的小示例程序Java jSoup isn';我不能正确地删除HTML实体,java,jsoup,Java,Jsoup,我有一个从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/'&
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 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);
}
}
import org.jsoup.*;
导入org.jsoup.nodes.Document;
导入org.jsoup.nodes.Element;
公共类测试汤{
公共静态void main(字符串[]args){
字符串html=“链接。”;
Document doc=Jsoup.parse(html);
Element link=doc.select(“a”).first();
字符串linkText=link.text();/“示例”
System.out.println(linkText);
}
}
如果你使用过jSOup,你就会知道它的输出应该是example
,但是输出是example
。为什么jSOup没有正确地删除我的HTML实体,或者我只是做错了
我所有的HTML实体都被错误地取消扫描,不仅
jSoup工作正常,而且输出编码也有问题
在Windows中,console使用的字符编码(CP437
在您的情况下)与系统编码(Windows-1252
在您的情况下)不同。system.out.println()
以系统默认编码输出字符串,因此它在console中显示不正确
在Java 1.6中,您可以尝试使用System.console()
:
System.console().writer().println(linkText);
jSoup工作正常,但输出编码有问题 在Windows中,console使用的字符编码(
CP437
在您的情况下)与系统编码(Windows-1252
在您的情况下)不同。system.out.println()
以系统默认编码输出字符串,因此它在console中显示不正确
在Java 1.6中,您可以尝试使用System.console()
:
System.console().writer().println(linkText);