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

时间:2011-07-26 19:25:52

标签: jsoup

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

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

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

1 个答案:

答案 0 :(得分:1)

是的,从v1.7.2开始,属性似乎存储在LinkedHashMap

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应该从程序员那里抽象实现细节,那么我会失职。像这样的细节不应该是大多数开发人员关心的问题。当然,如果出于好奇的缘故,不会造成任何伤害。