Hallo Leute,
ich stehe mit den XML-Dateien einfach auf Kriegsfuß.
Um nicht immer manuell die XML-Datei zu bearbeiten, möchte ich die Node-Elemente über mein Programm bearbeiten.
Das ändern der Nodes klappt schon, aber mit dem hinzufügen komme ich einfach nicht weiter.
Und so sieht mein XML-Datei aus.
Um die zu ändern habe ich folgende Sub-Routine:
Mein Problem ist jetzt, dass ich nicht weiß, wie ich Einträge hinzufügen kann. Ich komme da einfach nicht weiter.
Kann mir einer hierbei helfen?
Vielen Dank im Voraus.
Gruß Achilleus
ich stehe mit den XML-Dateien einfach auf Kriegsfuß.
Um nicht immer manuell die XML-Datei zu bearbeiten, möchte ich die Node-Elemente über mein Programm bearbeiten.
Das ändern der Nodes klappt schon, aber mit dem hinzufügen komme ich einfach nicht weiter.
Und so sieht mein XML-Datei aus.
XML-Quellcode
- <?xml version="1.0" encoding="UTF-8"?>
- <Standardtexte>
- <!-- Formulare Steuerbescheidprüfung -->
- <!-- Steuerauswahl Steuerbescheide -->
- <Bescheide>
- <ID0>ESt. incl. SolZ</ID0>
- <ID1>ESt. incl. SolZ u. KiSt.</ID1>
- <ID2>ESt. Verlustfeststellung</ID2>
- [...]
- <!-- Verlustbescheide sind Info (Sonderbereich) => 0 = Standart / 1 = Info -->
- <Info>
- <ID0>0</ID0>
- <ID1>0</ID1>
- <ID2>1</ID2>
- [...]
- </Info>
- </Bescheide>
- </Standardtexte>
Um die zu ändern habe ich folgende Sub-Routine:
VB.NET-Quellcode
-
- Private Sub Save_Profile()
- Dim XMLFile As String = GetXMLPath()
- Dim xmlDoc As New Xml.XmlDocument, KeynodesStB As Xml.XmlNodeList, KeynodesInfo As Xml.XmlNodeList
- Dim i As Integer = 0
- Dim t1 As String = "", t2 As String = ""
- Dim singleKeyNode As Xml.XmlNode = Nothing
- xmlDoc.Load(XMLFile) 'opens XML file
- For i = 0 To dgvProfile.Rows.Count - 1
- KeynodesStB = xmlDoc.SelectNodes("Standardtexte/Bescheide/ID" & i)
- KeynodesInfo = xmlDoc.SelectNodes("Standardtexte/Bescheide/Info/ID" & i)
- singleKeyNode = KeynodesStB.Item(0)
- If singleKeyNode Is Nothing Then
- Dim newElem As Xml.XmlNode = xmlDoc.CreateNode("Standardtexte", "Bescheide\ID" & i, "")
- newElem.InnerText = dgvProfile.Item(0, i).Value.ToString
- Dim root As Xml.XmlElement = xmlDoc.DocumentElement
- root.AppendChild(newElem)
- Else
- singleKeyNode.InnerText = dgvProfile.Item(0, i).Value.ToString
- End If
- singleKeyNode = KeynodesInfo.Item(0)
- If singleKeyNode Is Nothing Then
- Dim newElem As Xml.XmlNode = xmlDoc.CreateNode("Standardtexte", "Bescheide\Info", "ID" & i)
- newElem.InnerText = dgvProfile.Item(1, i).Value.ToString
- Dim root As Xml.XmlElement = xmlDoc.DocumentElement
- root.AppendChild(newElem)
- Else
- singleKeyNode.InnerText = Convert.ToInt16(dgvProfile.Item(1, i).Value)
- End If
- Next
- xmlDoc.Save(GetXMLPath())
- Me.Close()
- End Sub
Mein Problem ist jetzt, dass ich nicht weiß, wie ich Einträge hinzufügen kann. Ich komme da einfach nicht weiter.
Kann mir einer hierbei helfen?
Vielen Dank im Voraus.
Gruß Achilleus