我刚刚发现,通过选择每个元素都需要设置baseUri。如果将Document的baseUri应用于每个元素,那将会好得多。
Document d = Jsoup.parse(myString);
doc.setBaseUri("http://www.google.de");
如果我执行
Element e = d.select(....).get(0);
e
的baseUri为空。
这是一个错误还是打算?
答案 0 :(得分:3)
基本URI特定于每个元素,因为HTML中存在基本URI可以在整个解析中更改的情况。目前,在解析后将其设置在文档上不会将其冒泡到子节点。
解析HTML字符串时只需specify,例如:
Document doc = Jsoup.parse(myString, "http://www.google.de");
如果您从URL获取HTML并解析该(使用Jsoup.connect),则会自动设置基URI。