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.