Laden...

XML Files vergleichen

Erstellt von soucy vor 15 Jahren Letzter Beitrag vor 12 Jahren 2.385 Views
S
soucy Themenstarter:in
50 Beiträge seit 2005
vor 15 Jahren
XML Files vergleichen

Gibt es eine einfache Möglichkeit, mittels C# zwei XML Files auf Unterschiede zu überprüfen?

Also z.B. welche Nodes unterschiedliche Values enthalten, welche Nodes in File 2 vorhanden sind aber nicht in File 1 usw.

Oder muss man das komplett von Hand programmieren?

Gruß

M
234 Beiträge seit 2007
vor 15 Jahren

Das müsstest m.E. nach von Hand schreiben, denn letztlich kennst eh nur du den Aufbau.
Eine Möglichkeit wäre eine XmlDocument-Klasse in der du die Knoten entsprechend abbildest.

/edit: Hab noch das gefunden. Reicht dir das auch?

3.971 Beiträge seit 2006
vor 15 Jahren

Wenn es ein genau definiertes Schema zur Xml-Datei gibt, ist es leichter. Auf jedenfall selbst musst du alles von Hand machen. Nützlich könnte dir aber XPath sein.

Wenn du ein Schema hast, könntest du dir zu jedem Node auch entsprechende Klassen generieren lassen (xsd.exe) und diese dann von Hand mit C# vergleichen

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

656 Beiträge seit 2008
vor 15 Jahren

Morgen!

Versuchs mal mit XML Diff und Patch von Microsoft.
Ich verwend das Ding momentan zwar nur, um eine schöne HTML Ausgabe für den Benutzer zu machen, aber man kann es auch (wenn ich mich recht erinnere) programmtechnisch nutzen.

Gruß, BhaaL

P
321 Beiträge seit 2008
vor 15 Jahren

bekommt man da nicht einfach ne dritte xml datei die alle unterschiede enthält?
bzw ne html datei?

auf sowas kann man sich nicht richtig verlassen...
ich hab mir selber so nen xml vergleich geschrieben, auf mein problem zugeschnitten...

Use the source, Luke!

Nur, weil man vor sich eine CPU hat, muß man das Denken nicht
einstellen.

R
155 Beiträge seit 2005
vor 12 Jahren

Hallo,

der Thread istalt aber immer noch aktuell. Ich habe auch vor, so einen XML diff zu entwickeln aber es generisch zu machen d.h. ohne zu wissen wie das XML aufgebaut ist, ist seht schwer.
Vielleicht habt ihr schon etwas gutes gefunden bzw.habt ihr ein paar Tips wie man es anpacken soll.

Problem habe ich, wenn XML automatisch generiert wird und damit viele Knoten verschoben werden bzw. anders sortiert. So zeigen alle diff Applikationen, dass sich vieles geändert hat, obwohl letztendlich ein Eintrag hinzugekommen ist.

Grüße

5.742 Beiträge seit 2007
vor 12 Jahren

Problem habe ich, wenn XML automatisch generiert wird und damit viele Knoten verschoben werden bzw. anders sortiert. So zeigen alle diff Applikationen, dass sich vieles geändert hat, obwohl letztendlich ein Eintrag hinzugekommen ist.

Beyond Compare behilft sich damit, erstmal alle Elementknoten und Attribute alphabetisch zu sortieren und dann zu diffen; das klappt schonmal in vielen Fällen.