---
title: "DiffDog 报告服务"
date: "2009-07-22"
tags: 
  - "diff-merge-tool"
  - "diffdog"
  - "directory-comparison"
  - "file-comparison"
  - "java"
description: Altova DiffDog 软件允许用户创建详细的差异报告，用于比较目录和文件，支持多种格式，包括文本和 XML。
---
Status: #blog

Tags:  #diff-merge-tool #diffdog #directory-comparison #file-comparison #java

Categories: [Altova](/blog/zh/category/altova.md) 
# DiffDog 报告服务

最近，一条在Twitter上的消息询问了[DiffDog](https://www.altova.com/zh/products/diffdog/diff_merge_tool.html)是否可以生成差异报告。简短的答案是：可以！除了其广为人知的[目录比较和合并](https://www.altova.com/zh/features_directory_diffdog.html)、[文件比较和合并](https://www.altova.com/zh/features_file_diffdog.html)、[数据库比较和合并](https://www.altova.com/zh/features_database_diffdog.html)以及[XML差异合并](https://www.altova.com/zh/features_xml_diffdog.html)功能外，Altova DiffDog还可以为目录比较和文件比较生成差异报告。在您选择要比较的目录或文件，并选择相应的比较选项后，您可以从DiffDog的文件菜单中选择“导出差异”，从而创建一个报告文件。 

[![DiffDog：导出差异选项](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/exportDiff_thumb.gif "DiffDog Export differences menu option")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/exportDiff.gif) 

这会打开一个“保存文件”对话框，允许您选择以文本格式或以XML文件格式创建差异报告。 文本格式的报告遵循广泛接受的Unix diff格式。 在下面的目录比较示例报告中，"<"符号表示只存在于左侧目录中的文件，">"符号表示只存在于右侧目录中的文件，而"!"符号表示在两个目录中都存在的文件，但内容不相同。 

[![DiffDog 目录报告的文本格式](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffText_thumb.gif "DiffDog directory report text format")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffText.gif) 

以XML格式生成的报告文件易于阅读，其中包含描述性的元素名称，并且记录了比较模式以及被比较的目录路径 

[![DiffDog 目录报告的 XML 格式](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffXML_thumb.gif "DiffDog directory report XML format")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffXML.gif) 

您还可以使用 DiffDog 的目录报告功能，为 ZIP 压缩包或 OOXML 文档的比较生成差异报告文件。 软件项目的开发人员和其他项目相关人员通常希望记录源代码文件的更改。 DiffDog 可以为所有基于文本的文件生成差异报告，包括源代码文件。 此外，DiffDog 还可以为 XML 文件的比较生成详细的、具有 XML 格式感知的报告。 下图展示了 Java 源代码文件的两个版本： 

[![DiffDog 文件差异示例](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiff_thumb.gif "DiffDog file differences example")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiff.gif) 

如果您阅读过我们之前的一系列文章，关于 [使用 Altova UModel 反向工程现有应用程序](http://https://www.altova.com/blog/2009/06/part-5-analyzing-legacy-application.html), 您可能已经熟悉这段代码。左侧的第8行和第9行引入了一个新的类属性，名为“fee”，并将其初始值设置为2。以下是文件比较报告，以文本格式展示了上述差异： 

[![DiffDog 文件差异文本报告](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiffText_thumb.gif "DiffDog file differences text report")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiffText.gif) 

以下是针对相同文件部分的报告的 XML 格式版本：

[![DiffDog 文件差异文本报告](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiffXML_thumb.gif "DiffDog file differences text report")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/fileDiffXML.gif) 

您甚至可以通过命令行运行 DiffDog，从而自动生成差异报告。以下是一个简单的批处理文件示例，它与我们在图形界面示例中使用的相同两个目录进行比较，并将结果以 XML 格式写入一个名为 diff_1.xml 的文件中： 

[![DiffDog 批处理文件](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffBat_thumb.gif "DiffDog batch file")](https://www.altova.com/blog/images/DiffDogReportsforService_E5A9/diffBat.gif) 

DiffDog的帮助系统包含了关于所有命令行选项的详细文档，其中还包括如何将DiffDog与19种流行的版本控制系统集成的具体说明。 

[点击此处](https://www.altova.com/zh/download/diffdog/diff_merge_tool_enterprise.html) 下载 [Altova DiffDog](https://www.altova.com/zh/download/diffdog/diff_merge_tool_enterprise.html) 的免费30天试用版。
