选择后 Jsoup baseUri 消失了

标签 jsoup

我刚刚发现通过选择获得的每个元素都需要设置 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/

相关文章:

java - Jsoup - 如何处理未找到的元素

java - 从 HTML 代码中检索图像 URL

java - 检查按钮是否存在 Jsoup

java - jsoup 和密码套件 SSL

java - JSoup 似乎忽略字符代码?

java - jsoup 获取 URL 时出错。 Status=503 仅在 Heroku 上

java - 使用 Jsoup 获取直接从父级继承的子元素?

java - 从维基百科信息框获取具体信息

java - 使用 Jsoup 的特定标记后的 HTML 内容

java - 使用 Jsoup 获取 html 标签后的文本并创建 ArrayList