in reply to Smart Diff - compare XML files
Try XML::SemanticDiff.
You could also pre-process the files to add \n between each elements and use a line-oriented diff, that might work, depending on your data.