jsoup - 通过自定义属性查找元素是否有效?

标签 jsoup

我想知道这样的选择语句是否有效:

elements = document.body().select("[data-custom-attr=blahblah]");

JSoup 是否为所有元素属性和值创建了一个 Map 以便它可以有效地查找它们,或者这是否会涉及整个文档的遍历?

最佳答案

是的,属性似乎存储在 LinkedHashMap 中截至 v1.7.2 .

org.jsoup.nodes.Attributes:
line 20: private LinkedHashMap<String, Attribute> attributes = null;
line 21: // linked hash map to preserve insertion order.
line 22: // null be default as so many elements have no attributes -- saves a good chunk of memory

如果我没有告诉你一个好的 API 应该从程序员那里抽象出实现细节,那我就失职了。像这样的细节不应该是大多数开发人员关心的事情。当然,如果只是为了好奇,也没什么坏处。

关于jsoup - 通过自定义属性查找元素是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835396/

相关文章:

android - 默认的 Jsoup 用户代理字符串是什么?

java - 使用jsoup进行Google SERP解析

java - Jsoup - 提取提取的 URL 的环绕段落

android - 登录页面重定向上的jsoup状态代码

java - 使用 jsoup 获取 html 内联样式属性值

java - 有什么方法可以从 div 内的内部 html 中删除\n 吗?

java - 由于 NullPointerException 导致的错误

java - Android 应用程序在解析一个特定网站时崩溃

java - 无法获取 HTML 元素 (JSOUP)

java - 无法访问 jsoup