---
title: "三路文件比较和差异合并"
date: "2017-10-31"
categories: 
  - "software"
  - "tools"
tags: 
  - "altova-xmlspy"
  - "diffdog"
  - "difference-merging"
  - "file-comparison"
description: 了解如何使用 XMLSpy 和 DiffDog 实现三向文件比较和差异合并，从而简化 XML 文档的修订和协作流程。
---
Status: #blog

Tags:  #altova-xmlspy #diffdog #difference-merging #file-comparison

Categories: [development](/blog/zh/category/development.md) | [xml](/blog/zh/category/xml.md)
# 三路文件比较和差异合并

手动比较冗长的 XML 模式或文档的不同版本，以查找差异，是一项繁琐且容易出错的任务。XMLSpy 长期以来都提供了文件比较功能，它会在并排窗口中突出显示差异，并支持双向合并。当然，DiffDog 也是一款常用的比较工具，可以比较文本、源代码、XML、JSON 和 Word 文档。现在，XMLSpy 和 DiffDog 都支持三向文件比较和差异合并功能。

三向文件比较在以下情况下尤其有用：当文件由任何版本控制系统管理时，两个用户可能都从同一个源文件开始，但进行了不同的修改，需要进行合并和协调。

![](/blog/images/3WaysComparision02.jpg)

<!--more-->

### XMLSpy 中的三向文件比较功能

要在 XMLSpy 中打开一个三向文件比较，只需从“工具”菜单中选择“比较：打开文件与...”选项，然后选择要比较的文件即可

[![在 XMLSpy 中，选择用于进行三向文件比较的文件](/blog/images/XMLSpy-choose-files.png)](XMLSpy-choose-files.png)

 

这些文件可能已经在其他窗口中打开，或者您可以从工作站、网络上的任何位置，甚至通过URL加载它们。您指定的文件将以并排显示，并突出显示其中的差异。

[![在 XMLSpy 中进行三文件比较](/blog/images/XMLSpy-compare-files-1.png)](XMLSpy-compare-files-1.png)

请注意，此比较功能具有 XML 敏感性，只会标记在 XML 环境中具有实际意义的差异。在上述比较中，最右侧的文件不包含换行符或制表符。由于这些字符在 XML 文档中没有实际意义，因此不会被标记。

您可以在“比较差异”菜单中选择任何差异，并自动合并它们，具体操作方式如下所示：

[![在 XMLSpy 中，进行三向文件比较时，差异合并的过程](/blog/images/XMLSpy-compare-3-files-1.png)](XMLSpy-compare-3-files-1.png)

对于此处显示的特定差异，比较文件面板中的某些选项会显示为灰色，因为中心窗口和右侧窗口中的文件内容一致。

完成比较和合并差异后，点击“完成”按钮以结束比较过程。所有三个文件仍会分别在编辑窗口中打开，您可以选择“保存”或“另存为”来保存您想要的版本。

### DiffDog软件中的三向文件比较功能

您可以通过以下两种方式在 DiffDog 中打开三向文件比较：一是选择“文件”菜单中的相应选项，二是点击工具栏上的相应图标（如图所示）

![DiffDog软件中，用于进行三向文件比较的工具栏图标](/blog/images/DiffDog-3-way-tool-icon.png)

三个文件窗口并排显示，每个窗口顶部都有一组文件导航工具。在下面的示例中，一个JSON通用父文件在中间窗口中打开，左侧和右侧分别显示了该文件的不同版本。

[![DiffDog软件中的三向文件比较功能](/blog/images/DiffDog-JSON-3-way-1.png)](DiffDog-JSON-3-way-1.png)

一个特殊的工具栏仅在进行三向文件比较时显示，它能让您轻松合并差异或在不同差异之间进行切换。

![DiffDog软件中，提供一个专门的工具栏，用于进行三向文件比较](/blog/images/DiffDog-3-way-toolbar-new-1.png)

 

工具栏上的最后一个按钮甚至可以让你调整文档的排列顺序。

![](/blog/images/Diffdog-swap-documents.png)

与 XMLSpy 类似，当您的合并操作完成后，每个文档窗口中的“保存”和“另存为...”工具可以帮助您保存您的修改。

XMLSpy是全球销量最高的[XML编辑器](https://www.altova.com/zh/xmlspy-xml-editor)，用于建模、编辑、转换和调试XML以及相关技术。DiffDog是一款独特的[具备XML处理能力的差异比较/合并工具](https://www.altova.com/zh/diffdog)，它可以比较和合并文本文件、源代码文件、XML文件、JSON文件以及Word文档，还可以同步目录、数据库结构和内容。

XMLSpy 和 DiffDog 均包含在 Altova MissionKit 中，您可以从 [Altova 官方下载中心](https://www.altova.com/zh/download) 免费试用其完整功能。 欢迎您亲自体验，满足您所有的三文件对比需求！
