Start with XML::SemanticDiff.
In reply to Re: comparing xml and producing informative output by tobyink in thread comparing xml and producing informative output by jccunning