diffxml é uma ferramenta que faz isso e outro. Ambos têm opções para escolher o que você quer considerar uma diferença e produzir saída estruturada. Com diffxml
, você obtém um arquivo XML descrevendo as transformações necessárias em detalhes e com xmldiff
uma lista de seletores XSL e o que fazer com eles ou um arquivo XML em formato de xupdate .
Existem também bibliotecas para PHP , Perl , Perl novamente , Python , C # , ..., que você poderia usar para construir algo dando o comportamento exato que você queria.