是否有任何免费的 Xml Diff/Merge 工具可用?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1871076/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Are there any free Xml Diff/Merge tools available?
提问by Russell
I have several config files in my .net applications which I would like to merge application settings elements etc.
我的 .net 应用程序中有几个配置文件,我想合并应用程序设置元素等。
I was about to begin doing it manually as I usually do, however thought there must be an XML diff GUI tool available somewhere.
我正要开始像往常一样手动执行此操作,但认为某处必须有可用的 XML diff GUI 工具。
The tool would be able to go to the element level to compare and display the differences etc.
该工具将能够进入元素级别以比较和显示差异等。
However Google gave no substantive free tool results and no hints for anything of value.
然而,谷歌没有给出实质性的免费工具结果,也没有提供任何有价值的提示。
Is such a tool available? That is very useful? For free?
有这样的工具吗?那很有用吗?免费?
Thanks in advance. :)
提前致谢。:)
Edit:
编辑:
Here is a bit of clarification of the functionality that would turn my error-prone, tedious manual job into a 1-minute simpler task (and potential to automate):
这里有一些功能的说明,它将把我容易出错、乏味的手动工作变成一个 1 分钟更简单的任务(并有可能实现自动化):
In KDiff3, you can do a diff/merge of entire directories. There is a hierarchical diff which is very accurate, user-friendly and clear. I was interested in finding a similar solution, however instead of directory hierarchy, an XML element hierarchy.
在 KDiff3 中,您可以对整个目录进行差异/合并。有一个非常准确、用户友好和清晰的分层差异。我有兴趣找到一个类似的解决方案,但不是目录层次结构,而是 XML 元素层次结构。
If there is no such open source software, I am considering creating one on CodePlex to provide this functionality.
如果没有这样的开源软件,我正在考虑在 CodePlex 上创建一个来提供此功能。
采纳答案by epotter
回答by dma_k
Have a look at at File comparison tools, from which I am using WinMerge. It has an ability to compare XML documents (you may wish to enable DisplayXMLFilesprefilter).
查看文件比较工具,我从中使用了WinMerge。它具有比较 XML 文档的能力(您可能希望启用DisplayXMLFiles预过滤器)。
DisplayXMLFiles.dll- This plugin pretty-prints XML files nicely by inserting tabs and line breaks. This is useful for XML files that do not have line returns in convenient locations.
DisplayXMLFiles.dll- 该插件通过插入制表符和换行符来漂亮地打印 XML 文件。这对于在方便的位置没有换行符的 XML 文件很有用。


See also my feature comparison table.
另请参阅我的功能比较表。
回答by dma_k
I wrote and released a Windows application that specifically solves the problem of comparing and merging XML files.
我编写并发布了一个 Windows 应用程序,专门解决了比较和合并 XML 文件的问题。
Project: Mergecan perform two and three way comparisons and merges of any XML file (where two of the files are considered to be independent revisions of a common base file). You can instruct it to identify elements within the input files by attribute values, or the content of child elements, among other things.
项目:合并可以对任何 XML 文件(其中两个文件被认为是公共基础文件的独立修订版)执行两种和三种方式的比较和合并。您可以指示它通过属性值或子元素的内容等来标识输入文件中的元素。
It is fully controllable via the command line and can also generate text reports containing the differences between the files.
它可以通过命令行完全控制,还可以生成包含文件之间差异的文本报告。


回答by Chris Fulstow
There are a few Java-based XML diff and merge tools listed here:
这里列出了一些基于 Java 的 XML 差异和合并工具:
Open Source XML Diff written in Java
Added links:
添加了链接:
回答by austincheney
Pretty Diff tool was created with XML in mind. Just ensure you click the option for "markup".
Pretty Diff 工具是在考虑 XML 的情况下创建的。只需确保单击“标记”选项即可。
回答by YOU
I use TortoiseMerge, which is included in TortoiseSVNprogram
我使用 TortoiseMerge,它包含在TortoiseSVN程序中
And we have talked about File Diff tools in this thread, not dedicated to XML though
我们已经在这个线程中讨论了 File Diff 工具,虽然不是专门用于 XML
https://stackoverflow.com/questions/1830962/file-differencing-software-on-windows
https://stackoverflow.com/questions/1830962/file-difference-software-on-windows
回答by Jarret Hardie
While this is not a GUI tool, my quick tests indicated that diffxmlhas some promise. The author appears to have thought about the complexities of representing diffs for nested elements in a standardized way (his DUL - Delta Update Language specification).
虽然这不是一个 GUI 工具,但我的快速测试表明diffxml有一些希望。作者似乎已经考虑过以标准化方式(他的 DUL - Delta Update Language 规范)表示嵌套元素差异的复杂性。
Installing and running his tools, I can say that the raw text output is quite clear and concise. It doesn't offer the same degree of immediate apprehension as a GUI tool, but given that the output is standardized as DUL, perhaps you would be able to take that and build a tool to generate a visual representation. I'd certainly love to see one.
安装并运行他的工具,我可以说原始文本输出非常清晰简洁。它不提供与 GUI 工具相同程度的直接理解,但鉴于输出已标准化为 DUL,也许您可以利用它并构建一个工具来生成可视化表示。我当然很想看一看。
The author's "links" section does reference a few other XML differencing tools, but as you mentioned in your post, they're all proprietary.
作者的“链接”部分确实引用了其他一些 XML 差异化工具,但正如您在帖子中提到的,它们都是专有的。
回答by Andrew Lapick
A7Soft provide XML comparison tools freeware and shareware:
A7Soft 提供 XML 比较工具免费软件和共享软件:
回答by Lin Yu Tang
Altova's DiffDog has free 30-day trial and should do what you're looking for:
Altova 的 DiffDog 有 30 天的免费试用期,应该可以满足您的需求:
回答by AP.
This is a diff engine for java developers, but it comes with a demo interface - you might be able to use it: https://community.emc.com/docs/DOC-5042
这是一个面向 Java 开发人员的差异引擎,但它带有一个演示界面 - 您可以使用它:https: //community.emc.com/docs/DOC-5042

