Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 jdom 中是否有可能获得共享某个属性的节点的子节点,而无需查看暴力破解中的所有子节点?是否可以对数时间进行搜索?
是否可以对数时间进行搜索?
不,因为这需要某种索引以该特定属性为键,而 JDOM 为什么要保留这样的索引?
您可以有一个XPath实现,它在内部构建这样一个索引以加快重复搜索,但它仍然必须先构建它。
如果要为特定属性创建索引,可以使用 SAX 并在解析文档时创建索引。在您构建索引之后,这可能会给您 O(1) 来查找属性。
在 JDOM 中,对数搜索是不可能的,因为在分而治之的搜索中,假定了节点的顺序(就像在二叉搜索树中一样)。由于ElementJDOM 的 sDocument没有顺序,因此无法缩小搜索空间。
Element
Document