Altova XMLSpy 2023 Professional Edition

此命令允许您将打开的文件与另一个文件进行比较。此命令将要比较的文件在主窗口中垂直平铺,并在每个文件中突出显示它们之间的差异。如果两个文件之间存在差异,则该差异将以绿色突出显示。如果三个文件之间的内容都不同(仅在企业版中可用),则称为冲突,冲突将以粉红色突出显示。您可以将文件作为XML文档(其中标记的结构和语义是十分重要的)或文本文档进行比较。

 

提示:三向文件比较功能仅在企业版中可用。

 

要在用户界面中将活动文件与另一个文件进行比较,请执行以下操作:

 

1.将要比较的文件设为主窗口中的活动文件(一次仅可以将一个打开的文件设为活动文件),单击工具 | 比较打开的文件。这时将出现一个“浏览”对话框(参见下方截图),其中您可以通过浏览找到要和活动文件进行比较的一个或两个文件。

单击以展开/折叠

2.单击浏览 以通过文件资源管理器、全局资源或URL选择一个文件。单击窗口以选择在XMLSpy的窗口之一中打开的文件。

3.单击确定。这时将出现“设置”对话框(参见下方截图)。这些设置都在比较选项部分中进行了描述。如果您不希望在每次启动比较会话时都出现此对话框,请取消选中启动比较之前显示设置对话框(位于对话框底部)。

diff_settings_dialog

4.选择所需的设置,然后单击确定。这时会发生两件事:(i) 文件将在单独的窗口中并排显示;(ii) 将出现“比较文件”控件窗口。(请参见下一部分文件比较中的截图。

5.您可以通过使用“比较文件”控件窗口中的按钮来浏览并合并差异。(有关用法信息,请参见下一部分文件比较

6.在查看和/或合并完差异后,单击完成

 

提示:比较设置可以在“比较”会话期间更改(通过选择工具 | 比较选项),但仅会在下一个“比较”会话中生效;新设置不会影响当前会话。

 

文件比较和合并差异

有两种比较方式:

 

双向比较:这种方式将比较两个文件。处于活动状态的文件(当请求比较时;简称为活动文件)将显示在左侧窗格中,它将与第二个文件(参见下方截图)进行比较。

diff_files_view

三向比较(仅企业版):这种方式将比较三个文件。活动文件显示在左侧窗格中。用于与活动文件进行比较的两个文件中的第一个将显示在中间窗格中。这个中间文件被称为基文件。您可以合并左侧文件和基文件之间的差异,或右侧文件和基文件之间的差异。

 

提示:请不要移动窗口中的窗格;否则“比较文件”控件窗口中按钮的“复制到”方向可能不再正确。

 

 

差异和冲突

差异和冲突以不同的颜色突出显示(参见下方突出显示颜色)并且可以单独导航。

 

差异:当两个文件中对应位置的内容不同时,就会出现差异,以绿色突出显示。

冲突:当三个文件中对应位置的内容不同时,就会出现冲突,以粉红色突出显示。

 

提示:双向比较仅显示差异,不显示冲突。

 

 

导航差异和冲突

您可以使用“比较文件”控件窗口的“选择差异”窗格中的按钮来在文档中进行导航参见下方的双向比较,后面则是三向比较)。该窗格包含四个用于双向比较的按钮和六个用于三向比较的按钮(参见下方截图)。

单击以展开/折叠

“比较文件”控件窗口包含以下按钮:

 

第一个:转至文档中所有的差异和冲突中的第一个。

最后一个:转至文档中所有的差异和冲突中的最后一个。

上一个:从当前活动的差异或冲突转至上一个差异。

下一个:从当前活动的差异或冲突转至下一个差异。

上一个冲突:从当前活动的差异或冲突转至上一个冲突。

下一个冲突:从当前活动的差异或冲突转至下一个冲突。

 

 

合并差异和冲突

您可以使用合并窗格中的按钮将突出显示的内容从一个窗格复制到另一个窗格。使用窗格中适当的复制方向按钮。为了启用合并命令,请务必设置以下比较选项

 

必须选中详细差异

取消选中忽略节点深度

 

完成查看和/或合并差异后,单击完成

 

提示:如果您希望撤消合并操作,请停止“比较”会话,选择要撤消更改的文件,然后选择 编辑 | 撤消或按Ctrl+Z

 

提示:当“比较”会话处于活动状态时,不允许编辑和更改视图。任何试图编辑或更改任一文件的视图的行为都会弹出一条消息,警告“比较”会话将被终止。

 

突出显示颜色

如果两个文件中对应的行不同,则它们在这两个文件中都以绿色突出显示(差异)。如果三个文件中对应的行不同,则它们在这三个文件中都以粉红色突出显示。如果选择了差异,则它将在这两个文件中以深绿色表示。如果选择了冲突,则它将在这三个文件中以深粉红色表示。

 

下表给出了在“比较”会话中使用的突出显示颜色。

 

diff_difference

差异

diff_currentdiff

当前差异

diff_mergeddiff

合并后的差异

diff_currentmergeddiff

当前合并的差异

diff_conflict

冲突

diff_currentconflict

当前冲突

 

 

© 2017-2023 Altova GmbH