2011-07-26 123 views
3

我不知道這樣的選擇語句是否是有效的:通過自定義屬性查找元素是否有效?

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

不JSoup創建所有元素的屬性和值的地圖,以便它可以有效地找一找,或將這種涉及的遍歷整個文件?

+0

同樣的問題,我有... – bgs

回答

1

是的,屬性似乎存儲在v1.7.2LinkedHashMap中。

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應該是抽象的實現細節從編程了。像這樣的細節不應該是大多數開發人員所關心的。當然,如果只是出於好奇的緣故,不會造成任何傷害。

+0

有趣。 Re:抽象實現細節,各種API調用的性能特徵可能很重要。 – sanity