Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Diff zweier xml Dokumente
ltrader
myCSharp.de - Member



Dabei seit:
Beiträge: 60
Herkunft: Mannheim

Themenstarter:

Diff zweier xml Dokumente

beantworten | zitieren | melden

Hallo,

In einer Anwendung werden bei deren Ausführung Teile des GUI Status mit der Intention in ein XML Dokument persistiert, zu einem späteren auf die gleiche Weise bei gleichem Anwendungs Flow erneut ein XML Dokument zu erstellen.

Das Ziel ist es, auf diese Weise durch ein Diff der beiden XML Files festzustellen, ob sich zwischentzeitlich Fehler in der Anwendung eingeschlichen haben.

Ein einfaches Diff mit einem Tool wie Windiff zu erstellen ist nicht schwer. Spätestens wenn aber (gewollte) Änderungen an der Anwendung zu einer Differenz führen hat man mit diesem Vorgehen ein Problem.

XmlDiff beispielsweise ist in der Lage Teile wie Präfixe oder Namespaces vom Vergleich auszunehmen.

Mein Dilemma ist allerdings dass meine Anforderung darüber hinaus geht:
Ideal wäre es einzelne Elemente/Attribute vom Diff Process ein-/ausschliessen zu können.

Eine Möglichkeit:
Zuerst überprüfe ich auf string gleichheit. Wenn das Ergebnis true zurück gibt: Wunderbar.
Wenn nicht könnte ich gegen ein XSD Schema validieren welches ich speziell für diesen Zweck erstellen könnte.
Das Problem dieses Ansatzes: Bei Schema Validierung habe ich soweit ich weiss keine Möglichkeit herauszufinden in wieweit die Werte der Elemente/Attribute übereinstimmen.
Das wäre allerdings nötig nach der derfolgreichen xsd validierung um herauszufinden ob meine Heuristik True oder False zurückgibt.

Hat jemand von euch eine Idee, wie man diese Problematik sinnvoll angehen könnte? Wisst ihr ob hierzu vielleicht schon Tools7APIs für diese Aufgaben zur Verfügung stehen?

Grüße und Danke für jede Idee!
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
private Nachricht | Beiträge des Benutzers
Florian Reischl
myCSharp.de - Experte

Avatar #avatar-2880.jpg


Dabei seit:
Beiträge: 1596
Herkunft: München

beantworten | zitieren | melden

Hast du mal von Altova XMLSpy bzw. DiffDog versucht? StylusStudio soll auch einige XML-Diff Features haben.
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
private Nachricht | Beiträge des Benutzers
ltrader
myCSharp.de - Member



Dabei seit:
Beiträge: 60
Herkunft: Mannheim

Themenstarter:

beantworten | zitieren | melden

Hi Florian,
ich schau mir die tools mal an, danke dir.
Irgendwie brauche ich aber noch die richtig zündende Idee..

Viele Grüße und danke
Real programers do not comment their code.
It is hard to write and it should be hard to understand!
private Nachricht | Beiträge des Benutzers
Florian Reischl
myCSharp.de - Experte

Avatar #avatar-2880.jpg


Dabei seit:
Beiträge: 1596
Herkunft: München

beantworten | zitieren | melden

Also ich würde erstmal versuchen ob die Tools die Anforderungen abdecken können. Das selber zu machen scheint mir nämlich ziemlich kompliziert was meistens einen steinigen Weg mit vielen Bugs mit sich bringt.

Wenn du's aber selbst machen willst könntest du dir zum Thema XSD Validierung noch Schematron anschauen. Damit kannst du, glaube ich, XSLT mit einbinden und auch Dateninhalte validieren. Ansonsten wirst du wohl an einem dicken Prozess mit viel XPath nicht vorbei kommen.
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+

Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
private Nachricht | Beiträge des Benutzers