XmlDocument Aenderung speichern



  • Hallo,

    ich habe folgende Situation:
    Auf einem Server existiert ein xml-Dokument. Ich habe auf dieses
    Verzeichnis die Rechte 'erstellen' und 'ändern', nicht erlaubt
    ist jedoch 'löschen'.
    Ich will in dem (bereits existierende) xml nun Änderungen vornehmen:

    XmlDocument xDoc = new XmlDocument();
    xDoc.Load(path + "\\xyz.xml");
    //... 
    xDoc.Save(path + "\\xyz.xml")
    

    Hier bekomme ich leider einer "Access denied" Fehlermeldung.

    Hat vielleicht irgendjemand eine Idee woran das liegen könnte,
    oder alternative Vorschläge?



  • Na, was passiert denn wenn Du das Dokument in ein Texteditor lädst was änderst und es wieder speicherst?



  • Das Öffnen mit dem Notepad, ändern uns speichern, funktioniert ohne Probleme.
    Mit Notepad++ gehts das Speichern allerdings auch nicht ...



  • Geht denn erstellen?



  • Ja, Erstellen und Ändern (zumindest wie oben beschrieben) geht ohne Probleme. Löschen ist nicht möglich.

    xDoc.Save(path + "\\xyz.xml")
    

    funktioniert auch, sofern das xml noch nicht existiert.



  • Dann wäre anzunehmen, dass die Implementierung die Datei löscht und dann neu anlegen will. Versuch mal eine Datei mit Filemode.Create anzulegen wenn sie existiert. Wenn das klappt, könntest Du als Workarround die XML Daten selbst schreiben.



  • Knuddlbaer schrieb:

    ... könntest Du als Workarround die XML Daten selbst schreiben.

    Genau das wollte ich eigentlich vermeiden 😉
    Vielleicht probiere ich es auch mal mit einem Serializer ...


Anmelden zum Antworten