有免费的Xml Diff / Merge工具吗?

我有我的.NET应用程序中的几个configuration文件,我想合并应用程序设置元素等

我正要开始像往常一样手动进行,但是认为必须有一个XML差异GUI工具可用。

该工具将能够去元素水平来比较和显示差异等。

但是,Google没有提供实质性的免费工具结果,也没有提供任何有价值的提示。

有这样的工具吗? 这非常有用? 免费?

提前致谢。 🙂

编辑:

这里有一些function的澄清,将我的错误,乏味的手动工作变成1分钟简单的任务(并可能自动化):

在KDiff3中,可以对整个目录进行差异/合并。 有一个非常准确,用户友好和清晰的等级差异。 我有兴趣find一个类似的解决scheme,但不是目录层次结构,而是一个XML元素层次结构。

如果没有这样的开源软件,我正在考虑在CodePlex上创build一个来提供这个function。

KDiff3不是XML特定的,但它是免费的。 它比较和合并文本文件做得很好。

看看我使用WinMerge的 文件比较工具 。 它有能力比较XML文档(您可以启用DisplayXMLFiles预filter)。

DisplayXMLFiles.dll – 这个插件通过插入制表符和换行符,很好地打印XML文件。 这对于在方便位置没有行返回的XML文件很有用。

WinMerge在行动

编辑 :更新了我的function比较表的链接。

我意识到这个线程有点老了,我相信你现在已经find了一个解决scheme,但是对于未来的读者,我编写并发布了一个Windows应用程序,专门解决了比较和合并XML文件的问题。

项目:合并可以执行两个和三个方法比较和合并任何XML文件(其中两个文件被认为是一个共同的基本文件的独立版本)。 您可以指示它通过属性值或子元素的内容等来识别input文件中的元素。

它可以通过命令行完全控制,也可以生成包含文件之间差异的文本报告。

项目:合并三个XML文件

这里列出了一些基于Java的XML差异和合并工具:

用Java编写的开源XML差异

新增链接:

  • diffmk
  • VMTools
  • OpenSHORE XML合并
  • xxdiff

我使用TortoiseSVN程序中包含的TortoiseMerge

我们已经在这个线程中讨论了File Diff工具,但不是专用于XML

https://stackoverflow.com/questions/1830962/file-differencing-software-on-windows

虽然这不是一个GUI工具,但我的快速testing表明diffxml有一些承诺。 作者似乎已经考虑了以标准化方式表示嵌套元素差异的复杂性(他的DUL – Delta更新语言规范)。

安装和运行他的工具,我可以说,原始文本输出是相当清晰和简洁。 它没有像GUI工具那样提供同样程度的直接理解,但是鉴于输出是作为DUL标准化的,也许你可以把它作为一个工具来生成一个视觉表示。 我当然喜欢看到一个。

作者的“链接”部分引用了其他一些XML差异化工具,但正如您在文章中提到的那样,它们都是专有的。

Pretty Diff工具是在考虑XML的情况下创build的。 只要确保您点击“标记”的选项。

http://prettydiff.com/

我build议你使用CodeCompare工具。 它支持XML数据的原生高亮,它可以是你的任务的一个很好的解决scheme。

Altova的DiffDog有30天的免费试用期,应该做你正在寻找的东西:

http://www.altova.com/diffdog/diff-merge-tool.html

这是一个针对java开发人员的diff引擎,但它带有一个演示界面 – 您可以使用它: https : //community.emc.com/docs/DOC-5042

A7Soft提供免费软件和共享软件的XML比较工具:

http://www.a7soft.com