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ß
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...
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
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.
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
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.