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

时间:2009-12-09 01:28:41

标签: xml merge diff

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

我正要像往常那样手动开始这样做,但是我认为某处必须有一个XML diff GUI工具。

该工具可以转到元素级别进行比较并显示差异等。

然而,谷歌没有提供实质性的免费工具结果,也没有任何有价值的提示。

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

提前致谢。 :)

编辑:

以下是对功能的一些澄清,这些功能可以将我容易出错,繁琐的手动作业转变为1分钟的简单任务(并且可以实现自动化):

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

如果没有这样的开源软件,我正在考虑在CodePlex上创建一个以提供此功能。

11 个答案:

答案 0 :(得分:29)

请查看File comparison tools,我正在使用WinMerge。它能够比较XML文档(您可以启用DisplayXMLFiles预过滤器。)

DisplayXMLFiles.dll - 这个插件通过插入标签和换行符很好地打印XML文件。这对于在方便位置没有换行的XML文件很有用。

WinMerge in action

编辑:更新了我feature comparison table的链接。

答案 1 :(得分:19)

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

Project: Merge可以执行两种和三种方式的比较和任何XML文件的合并(其中两个文件被认为是公共基本文件的独立修订版)。您可以指示它通过属性值或子元素的内容等来识别输入文件中的元素。

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

Project: Merge merging three XML files

答案 2 :(得分:14)

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

Open Source XML Diff written in Java

添加了链接:

答案 3 :(得分:11)

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

答案 4 :(得分:3)

我使用TortoiseMerge,它包含在TortoiseSVN程序

我们在这个帖子中讨论过文件差异工具,但不是专门用于XML

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

答案 5 :(得分:3)

虽然这不是一个GUI工具,但我的快速测试表明diffxml有一定的承诺。作者似乎已经考虑过以标准化方式表示嵌套元素差异的复杂性(他的DUL - Delta Update Language规范)。

安装并运行他的工具,我可以说原始文本输出非常简洁明了。它不像GUI工具那样提供同样程度的直接忧虑,但考虑到输出标准化为DUL,也许您可​​以采用它并构建工具来生成可视化表示。我当然喜欢看到一个。

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

答案 6 :(得分:3)

Pretty Diff工具是在考虑XML的情况下创建的。只需确保单击“标记”选项。

http://prettydiff.com/

答案 7 :(得分:2)

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

http://www.a7soft.com

答案 8 :(得分:0)

Altova的DiffDog可以免费试用30天,应该可以满足您的需求:

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

答案 9 :(得分:0)

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

答案 10 :(得分:0)

我建议您使用CodeCompare工具。它支持原生突出显示 XML数据,它可以很好地解决您的任务。