当我想使用Jsoup打印下载的文件时,如果其中有一个换行符,则会丢失DocType中的一些信息。这是故意还是错误?
例如:
DocType看起来像这样:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果我使用doc.html()或doc.toString()打印它,我会得到:
<!DOCTYPE html>
如果其中没有连锁,我会得到包含所有信息的完整DocType。
我该怎么做才能解决这个问题?
干杯 好处
答案 0 :(得分:2)
是的,这是一个错误。谢谢你指出来。令牌器未正确忽略doctype名称和公共标识符之间的空格。
我fixed the bug,它将在jsoup 1.6.2。
中提供答案 1 :(得分:0)
绕过解析器可以解决我的问题:
org.jsoup.Connection con =Jsoup.connect(url).userAgent(USER_AGENT).timeout(MAX_TIMEOUT).followRedirects(true);
Response resp = con.execute().method(Method.GET);
completeFile = resp.body();
doc = resp.parse();
现在你在变量“completeFile”中得到了未经过滤/未经过解析的代码,在文档“doc”中得到了很好解析的代码。
我希望这可以为某人提供帮助。
Cheers Bene