#!/usr/bin/python import xml.etree.ElementTree ours = xml.etree.ElementTree.parse('ours.xml').getroot().find('events') theirs = xml.etree.ElementTree.parse('theirs.xml').getroot().find('events') ours_set = set([x.find('handle').text for x in ours.findall('event')]) theirs_set = set([x.find('handle').text for x in theirs.findall('event')]) only_ours = ours_set.difference(theirs_set) only_theirs = theirs_set.difference(ours_set) ev_diff = ours_set.symmetric_difference(theirs_set) ev_intersection = ours_set.intersection(theirs_set) print 'ours:' print ' ' + str(len(ours)) + ' events in total' print ' ' + str(len(only_ours)) + ' only here' print 'theirs:' print ' ' + str(len(theirs)) + ' events in total' print ' ' + str(len(only_theirs)) + ' only here' print 'in both: ' + str(len(ev_intersection))