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

Rus*_*ell 101 xml diff merge

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

我正准备像往常一样手动开始,但是我认为必须有一个XML diff GUI工具.

该工具将能够进入元素级别来比较和显示差异等.

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

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

提前致谢.:)

编辑:

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

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

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

dma*_*a_k 30

看看文件比较工具,我正在使用WinMerge.它具有比较XML文档的能力(您可以使用它来启用DisplayXMLFiles预过滤器).

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

WinMerge在行动

编辑:更新了我的功能比较表的链接.

  • 它不能很好地处理属于不同顺序的属性,因此根据您的具体情况,它的实用性可能会受到限制. (9认同)
  • +1 Winmerge版本2.12.4.0; 菜单"插件" - >"列表" - >勾选"启用插件"; 菜单"插件" - >选中"自动拆包".使用带有扩展名.xml的文件名的XML文件进行测试,它似乎有效. (6认同)
  • 该插件似乎不再可用。 (2认同)

小智 21

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

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

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

项目:合并三个XML文件

  • 项目:Merge现已被Oso XML Merge取代:https://osocorporation.com/xmlmerge/index.php (3认同)
  • -1,OP问自由软件.Project Merge是试用软件,并且在3年内还没有更新. (2认同)

Chr*_*tow 14

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

用Java编写的开源XML Diff

添加链接:

  • 我无法在您提到的链接中找到该软件的任何链接. (2认同)

epo*_*ter 12

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

  • 每个人都意识到在xml中子节点不能保证按任何特定的顺序排列,因此任何报告某个文件从一个文件到下一个文件的顺序不同的"工具"实际上都不是真正符合xml的工具 (22认同)
  • 如果订单发生变化,则元素不同.根据所讨论的XML文档的语义,订单可能会或可能不会很重要.例如在XHTML中,显然顺序很重要. (7认同)
  • 关键是常规差异工具基于行工作.有特定的diff工具,例如CSV文件,可以理解它所区分的格式.理解越好,差异就越有效.一个好的XML diff工具将能够解析XML,使用模式来确定约束,例如顺序是否重要,然后使用该知识来提供更有效的差异/合并体验. (7认同)
  • 我同意我现在正在使用KDiff3,但是专门用于XML的工具可以归结为元素级别,这将是非常棒的. (3认同)
  • 我从这个角度思考:KDiff进行目录的分层比较的方式,元素的分层比较的方式也可以工作。因此,如果某个元素已更改,那么我同意,父元素也应标记为已更改。 (2认同)