
This module allows for order agnostic comparison‎ of XML data. It will 
parse files to determine if they are a match while ignoring the order 
of attributes or elements .

Dependencies: ElementTree

Sample usage:

#open two files, parse with ElementTree, and pass to xml_diff function

oFile1 = open(r'C:\test1.xml', 'r')

oFile2 = open(r'C:\test2.xml', 'r')

oXml1 = ET.parse(oFile1)

oXml2 = ET.parse(oFile2)

print xml_diff(oXml1, oXml2)

#pass in xml as strings

sOrder1 = '<ItalianFood><Pizza Sauce="Red" Cheese="Mozzarella" Crust="Thin"><Quantity>2</Quantity></Pizza><Pizza Sauce="OliveOil" Cheese="Feta" Crust="Thin"><Quantity>1</Quantity></Pizza></ItalianFood>'

sOrder2 = '<ItalianFood><Pizza Sauce="OliveOil" Cheese="Feta" Crust="Thin"><Quantity>1</Quantity></Pizza><Pizza Sauce="Red" Cheese="Mozzarella" Crust="Thin"><Quantity>2</Quantity></Pizza></ItalianFood>'

print xml_diff(sOrder1, sOrder2)

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
