在Java中同步两个DOM树

时间:2012-11-20 19:38:52

标签: java xml dom merge sax

我以不同的格式提出这个问题并提到了XSLT,但我认为我没有解释我需要的解决方案。我有两个xml文件并使用Java,我正在尝试编写一个程序,它将接受源和目标xml文件,并且大多数情况下它们将具有相同的结构,除了源将添加一些新元素,我需要计算如何在源DOM中导航,如果在目标中找不到元素,则添加它,或者此时甚至只是让程序输出在目标文件中找不到哪些元素,这样可以更容易地手动修改目标文件。有没有人知道一个实用程序,我可以做这样的事情,只是得到目标xml文件中找不到的元素列表。我是否正确使用DOM解析器与SAX。我需要这方面的帮助,今天必须写它并且有大约50个xml文件要合并!

我是否按照为每个节点或元素导航整个源DOM的想法获得像人/人/约翰一样的完整路径,然后在我的目标DOM上以某种方式测试以查看该节点是否存在?这听起来更像是DOM还是SAX解析范例?

1 个答案:

答案 0 :(得分:3)

似乎你的问题要简单得多。

  1. 将源解析为DOM
  2. 将dest解析为DOM
  3. 在深度中首先搜索
  4. 中的源和目标
  5. 每当你在dest中找不到源中的内容时,添加它(如评论中所述,一种简单的方法是Document.importNode()