29 lines
765 B
Python
29 lines
765 B
Python
|
from xml.etree import cElementTree as ET
|
||
|
|
||
|
def comparemany(xmls):
|
||
|
xml1 = xmls[0]
|
||
|
if type(xml1) == type(''):
|
||
|
xml1 = ET.fromstring(xml1)
|
||
|
for xml in xmls[1:]:
|
||
|
xml2 = xml
|
||
|
if type(xml2) == type(''):
|
||
|
xml2 = ET.fromstring(xml2)
|
||
|
if not compare(xml1, xml2): return False
|
||
|
return True
|
||
|
|
||
|
def compare(xml1, xml2):
|
||
|
if xml1.tag != xml2.tag:
|
||
|
return False
|
||
|
if xml1.attrib != xml2.attrib:
|
||
|
return False
|
||
|
for child in xml1:
|
||
|
child2s = xml2.findall("%s" % child.tag)
|
||
|
if child2s is None:
|
||
|
return False
|
||
|
found = False
|
||
|
for child2 in child2s:
|
||
|
found = compare(child, child2)
|
||
|
if found: break
|
||
|
if not found: return False
|
||
|
return True
|