XML-Dateien mergen mit prüfung, ob schon vorhanden


Andre67

Grünschnabel
Hallo liebe Gemeinde,
ich habe ein Problem beim Zusammenführen zweier XML-Dateien.
Ursprünglich benutzte ich ein DataSet und merge, aber weil ich unbedingt einen Kommentar mit in die Ergebnisdatei übernehmen muss, habe ich es wie folgt gelöst:

Code:
                XmlReader xmlreaderOriginalCfg = XmlReader.Create(this.FirstFile);
                XmlReader xmlreaderErgCfg = XmlReader.Create(this.secondFile);

                XmlDocument myData = new XmlDocument();
                myData.Load(xmlreaderOriginalCfg );
                XmlDocument myData2 = new XmlDocument();
                myData2.Load(xmlreaderErgCfg );

                XmlNode parentNode = myData.SelectSingleNode("/configuration/appSettings");

                // Kommentar aus 2. XML-Datei hinzufügen
                foreach (XmlComment comment in myData2.SelectNodes("//comment()"))
                {
                    XmlComment importedCom = myData.CreateComment(comment.Value);
                    if (!myData.InnerXml.Contains("Kommentar"))
                    {
                        parentNode.AppendChild(importedCom);
                    }

                    foreach (XmlNode node in myData2.DocumentElement.SelectNodes("/configuration/appSettings/add"))
                    {
                            XmlNode imported = myData.ImportNode(node, true);
                            parentNode.AppendChild(imported);
                    }
                }
                // schließen und speichern
                xmlreaderOriginalCfg.Close();
                xmlreaderErgCfg .Close();
                myData.Save(this.xmlreaderErgCfg );

Die beiden XML-Dateien haben das gleiche Schema:
Code:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <appSettings>
        <add key="xxxxxxxx" value="yxz" />
        ....
        <add key="yyyyyyyy" value="abcd" />
    </appSettings>
</configuration>

Klappt soweit wunderbar. Mein Problem ist allerdings, dass ich in der inneren Schleife prüfen muss, ob die zu importierenden Knoten schon vorhanden sind, sonst wird, na klar, immer angefügt und die Datei wächst unnötig.

Kann mir bitte jemand auf die Sprünge helfen, wie ich das prüfe?

Schöne Grüße
Andre

Edit:
Eigenartiger Weise kann ich dieses Forum nicht durchsuchen. Egal was ich als Suchbegriff eingebe, es erscheint immer folgender Text:
"Deine Suchanfrage erzielte keine Treffer. Bitte versuche es mit anderen Suchbegriffen."
 
Zuletzt bearbeitet: