Comment comparer les fichiers XML en C #?
Je sais qu'il y a eu beaucoup de questions de ce genre, mais je ne pouvais pas trouver une réponse qui permettrait de répondre à mes besoins. Je dois écrire une application qui permettra de comparer des fichiers XML: il y aura 2 types de comparer, d'abord pour les 2 fichiers, liste de toutes les différences, et une seconde pour plusieurs fichiers XML listant toutes les variations de moyennes.
Je suis à la recherche d'une sorte de classe, une bibliothèque ou une API qui va m'aider à terminer cette tâche. Pouvez-vous suggérer quelques solutions ?
Et encore, je ne sais pas si je dois utiliser les DOM ou Xpath. Toutes les suggestions ?
EDIT:
Ok, donc j'ai essayé d'accomplir cette tâche avec XmlDiff outil, mais c'est assez problématique à résoudre cela pour de multiples fichiers Xml - je n'ai aucune idée de comment puis-je utiliser ce XmlDiffDiagram pour trier les différences entre les par exemple de 50 fichiers Xml.
Est-ce que ça va être mieux avec LINQ ?
source d'informationauteur Patryk | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
De Microsoft XML Diff et Patch API devrait fonctionner bien:
Si vous le souhaitez, vous pouvez également utiliser l'outil de correction de comparer les fichiers et de les fusionner:
Si vous voulez juste pour comparer XML et vous n'avez pas besoin d'obtenir ce qu'est la différence, vous pouvez utiliser XNode.DeepEquals Méthode:
Personnellement, je aller avec LINQ to XML. Vous pouvez trouver un bon tutoriel: http://msdn.microsoft.com/en-us/library/bb387061.aspx
J'ai écrit un xslt 1.0 feuille de comparer un xml à l'encontre de l'autre, et l'a publié sur mon github ici: https://github.com/sflynn1812/xslt-diff
C'est un non-ordonnée comparaison des éléments qui ne sont pas dans b.xml mais dans le xml d'entrée même si les éléments sont d'ailleurs dans le nœud parent.