我刚刚发现通过选择获得的每个元素都需要设置 baseUri。如果将 Document 的 baseUri 应用于每个 Element 会好得多。
Document d = Jsoup.parse(myString);
doc.setBaseUri("http://www.google.de");
如果我执行
Element e = d.select(....).get(0);
e
的 baseUri是空的。这是错误还是有意为之?
最佳答案
基本 URI 特定于每个元素,因为在 HTML 中存在基本 URI 可以在整个解析过程中更改的情况。目前,在解析后在文档上设置它不会将其冒泡到子节点。
刚刚specify当您解析 HTML 字符串时,例如:
Document doc = Jsoup.parse(myString, "http://www.google.de");
如果您从 URL 获取 HTML 并对其进行解析(使用 Jsoup.connect ),则会自动设置基本 URI。
关于选择后 Jsoup baseUri 消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803046/