Laden...

XML erweitern (Add Node, Attribute)

Erstellt von Grimmbizkit vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.401 Views
G
Grimmbizkit Themenstarter:in
310 Beiträge seit 2006
vor 8 Jahren
XML erweitern (Add Node, Attribute)

verwendetes Datenbanksystem: XML

Hallo zusammen,

ich habe eine XML Datei in der Konfigurationen gespeichert sind.
Nun soll meine Anwendung dort auch neue Konfigurationen speichern können.

Meine Xml-Datei sieht so aus:


<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <LfsExport>
    <ExportFileName>tag.asc</ExportFileName>
  </LfsExport>
</Configuration>

Jetzt möchte ich gerne dort eine Eintrag hinzufügen (auch mit Attributen möglich)
Name: ExportFolder
Wert: C:\Daten

Der Aufruf soll so aussehen:


public Boolean AddEntry(String xmlPath, String defaultValue)
public Boolean AddEntry(String xmlPath, String defaultValue, AttributeObject[] attrObj)

Bei xmlPath würde ich dann gerne die "Position" angeben:
"/Configuration/LfsExport/ExportFolder"

Wenn die Daten gespeichert sind soll das ganze etwa so aussehen:


<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <LfsExport>
    <ExportFileName>tag.asc</ExportFileName>
    <ExportFolder>C:\Daten</ExportFolder>
    <MenuItem entry="4-1">True</MenuItem>
  </LfsExport>
</Configuration>

Ich hoffe ihr könnt mir da ein paar Tipps geben, da ich auch dem Bereich XML noch recht neu bin. Evtl habt ihr ja auch schon die genaue Lösung 😉

Danke schon mal und Grüße
Simon

16.842 Beiträge seit 2008
vor 8 Jahren

XML gehört zu den Grundlagen. Bitte beschäftige dich damit und wälze die Arbeit nicht aufs Forum ab.
Ich kann hier irgendwie nicht erkennen, dass Du irgendwas versucht hättest. 🤔

XDocument-Klasse

G
Grimmbizkit Themenstarter:in
310 Beiträge seit 2006
vor 8 Jahren

Das Problem was ich habe ist, das ich bei dem Aufruf meine Klasse:


.AddEntry("/Configuration/LfsExport/ExportFolder", @"C:\Daten");

Immer einen Fehler bekomme, das ich kein "/" eingeben darf.

Die Frage ist ja, kann ich das so umsetzen, oder muss ich das komplette XmlDocument durchlaufen und gucken wo immer der passende Node ist und dann weitersuchen?