一种Java方法,用于查看dom树对象是否是另一个dom树对象的子集

时间:2014-12-28 09:04:33

标签: java dom tree tree-traversal

我要检查一个dom树java对象是否包含另一个dom树java对象?最有效的方法是什么?

如果我使用递归方法可能整个过程非常耗时,那么有没有有效的方法来遍历DOM树来检查这个?

例如,看看这个xml:

<a class='x'>Hello
<b>How are you?</b>
<a class='x'>I am fine!</a>
</field1>

当我使用xpath“.//* [@ class ='x']时,”将选择两个节点,其中一个节点是另一个节点的父节点。我想只选择父母一个。为了这个目的,我必须检查一个选定的节点(它们都是DOM树)是否是另一个DOM树的子节点。

1 个答案:

答案 0 :(得分:0)

无论如何,您必须先对文档进行广度优先搜索,以便在某个最小深度处找到一个或多个元素。这将为您提供一个或多个@class =&#34; x&#34;的元素。你可以在这里停下来,如果你想知道的话。如果要继续,请在下一次迭代中从要调查的节点集中排除这些元素。