Compare mit XDocument

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Compare mit XDocument

    Hallo zusammen,

    ich lese eine XML-Datei per XDocument.Load("filename.xml") ein und kopiere dieses in eine zweite Variable:

    VB.NET-Quellcode

    1. Dim xmlFile, xmlFileOrg As New XDocument
    2. xmlFile = XDocument.Load(Path.Combine(strFilePath, strFileName))
    3. xmlFileOrg = xmlFile


    Während ich das in xmlFile meine Anpassungen durchführe, bleibt xmlFileOrg als Sicherungs-Kopie (nenne ich mal so) bestehen.

    Nun möchte ich nicht unnötig Dateien speichern, denn es kann vorkommen das ich in xmlFile keine Änderungen durchführe, ist also noch der gleiche Inhalt. Um zu entscheiden ob ich speichern muss oder nicht, möchte ich xmlFile und xmlFileOrg vergleichen und bei einer festgestellten Änderung speichern.

    Wie aber kann ich den die beiden XDocuments vergleichen? Ich dachte erst an Compare, aber das gibt es so direkt nicht.

    Gibt es eine andere Möglichkeit beide "Variablen" zu vergleichen denn "if xmlFile <> xmlFileOrg then ..." geht ja nicht.


    Viele Grüsse,
    Daniel

    sonne75 schrieb:

    Equals(Object)
    testet, ob die Instanz selbst (also der Pointer) derselbe ist.
    @DniBo: Du bräuchtest so was wie ein deep object compare,
    gugst Du z.B. hier
    oder hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!