Innovative XML solutions since 2003

ExamXML  MDCXML  JExamXML  xml2csv  csv2xml 
ExamXML Pro includes MDCXML and FolderCMP
MDCXML uses the ExamXML comparison engine, please install ExamXML before using MDCXML.
 
Fast comparison, merging XML files
MDCXML is fastest XML differencing utility on the market. It compares two huge XML files and creates a diff delta file just in seconds.
 
Supports extra-large XML documents
Using short command arguments like
mdcxml <first-XML-file> <second-XML-file> without printing differences, you can compare XML files up to 100 MB.
This is especially useful when you just want to find out whether two XML documents are identical or not.
MDCXML is only one tool that can compare huge XML files. What is more, it can deal with extra-large XML files in a record time.
Usage:
mdcxml <first-XML-file> <second-XML-file> <output-XML-file> [/M|/D|/R|/C|/I|/E/B] [<options-file>]

Usage without printing output file:
mdcxml <first-xml-file> <second-xml-file> [/O:options-file]

Where:
/M	Merge two XML files (default)
/D	Save Differences between two XML files
/R	Save Report of differences
/C	Save Common XML elements from the first XML file
/I	Save Only Different XML elements from the first XML file
/E	Save Only Deleted XML elements from the first XML file
/B	Save Both Deleted and Different XML elements from the first XML file

<options-file> text ANSI file with options.

Example:
1.mdcxml order.xml order_.xml diff.xml /D options
2.mdcxml order.xml order_.xml /O:options (no output file)

If "options file" is not specified the mdcxml inherits all options from ExamXML.

Return value (%errorlevel% variable)
0 - Two files are identical (OK)
1 - There are some differences
2 - There are some deleted elements
3 - Parameter error, check arguments
4 - Option's file error, option's file is specified but not found or not correct
5 - XML file not found
6 - XML parser error
Options file example
Fast folders comparison
FolderCMP supports folder hierarchy comparison, enabling you to compare entire directory trees containing thousands of files.
 
Usage:
foldercmp <first-path> [<second-path>] [/S] [/E] [/N]
                             [/F:<search-filter>] [/O:<options-file>]

Where:
/S      Include sub-directories
/E      Skip empty sub-directories
/N      Resolve Network Mapped drives e.g. H:\path to UNC \\server\path
/F      Search file filter e.g. *.* or *.xml
/O      Text ANSI file with options

Examples:
1. #compare files in folders including sub-folders
   foldercmp c:\temp\in c:\temp\out /S /E
2. #compare files in "c:\temp\in" folder and current folder
   foldercmp c:\temp\in
3. #compare files using search filter for all files *.*
   foldercmp c:\temp\in c:\temp\out /F:*.*
4. #compare local and network folders,
   #if H:\temp is a network resource it changes H:\temp to \\server\temp
   foldercmp h:\temp\in c:\temp\in  /N
Close integration with ExamXML
You can use the same option file with both ExamXML and MDCXML.
Comparing two folders by MDCXML
SET mdcxml="C:\Program Files\ExamXML\mdcxml.exe"
SET examxml="C:\Program Files\ExamXML\examxml.exe"
SET dir1=g:\tmp\src
SET dir2=g:\tmp\dst
SET dir3=g:\tmp\diff
SET pattern=*.xml

for /F %%g in ('dir /b %dir1%\%pattern%') do (
  if exist %dir2%\%%g (
    echo Comparing %dir1%\%%g and %dir2%\%%g
    %mdcxml% %dir1%\%%g %dir2%\%%g %dir3%\%%g /D options
    echo %errorlevel%
    if %errorlevel% neq 0 %examxml% %dir1%\%%g %dir2%\%%g /O:options
  ) else (
    echo %dir2%\%%g does not exist
  )
)