原因:
parseBodyFragment()以及所有其他的
parse()-方法使用 的HTML解析器 的 默认 。而那些加 总
的HTML壳牌(
<html>…</html>,
<head>…</head>等等)。
解决方案:
只是不要使用HTML解析器,而应使用 XML解析器 ;-)
document doc = Jsoup.parse(html, "", Parser.xmlParser());
替换该单行,您的问题就解决了。
例:
final String html = "<p><b>This <i>is</i></b> <i>my sentence</i> of text.</p>";document docHtml = Jsoup.parse(html);document docXml = Jsoup.parse(html, "", Parser.xmlParser());System.out.println("******* HTML *******n" + docHtml);System.out.println();System.out.println("******* XML *******n" + docXml);输出:
******* HTML *******<html> <head></head> <body> <p><b>This <i>is</i></b> <i>my sentence</i> of text.</p> </body></html>******* XML *******<p><b>This <i>is</i></b> <i>my sentence</i> of text.</p>



