19.6 Comparing and Unit Testing XML with XML Diff and Patch

Determining the differences between XML documents can be complicated. A simple string comparison may lead you to believe two XML documents are not identical because of a difference as simple as the order of attributes on an element. This makes it difficult to work with XML documents, especially when you’re trying to write unit tests dealing with them, where you might want to compare expected XML output with the actual output.

Using Microsoft’s XML Diff and Patch, you can compare XML documents to determine whether they are equivalent and, if not, produce a diffgram describing the differences. This diffgram can then be used to patch one XML file to make it identical to the other.

XML Diff and Patch includes:

  • A compiled .NET assembly to difference and patch XML

  • Difference and patch command-line utilities

  • Source code

  • Samples

  • Help file

The included samples are the source for the command-line utilities and a sample to create an HTML representation of the difference between two XML documents. In addition to comparing full XML documents, the tools can compare and patch XML fragments. It is supported in versions 1.0, 1.1, and 2.0 of the .NET Framework.

XML Diff and Patch at a Glance

Tool

XML Diff and Patch

Version covered

1.1

Home page

http://www.microsoft.com/downloads/details.aspx?FamilyID=3471df57-0c08-46b4-894d-f569aa7f7892&DisplayLang=en

Get Windows Developer Power Tools now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.