es ist normale XML
keine XML linq
erklärung steht in source ich hab mir auch hier was einfallen lassen um das laden zu kürzen
wichtig ist das ihr immer elemente schließt wenn ihr eins erstellt sonst wird das alles nebeneinander geschrieben
in der XML selber die die knotennamen keine leerzeichen reinschreiben
so der source
Code:
Imports System.Xml
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'erstellen der xml wo sie gespeichert wird
Dim XML As New XmlTextWriter("Test.xml", New System.Text.UnicodeEncoding)
XML.Formatting = Formatting.Indented ' format einstellen
XML.Indentation = 5 'der einrücker
XML.WriteStartElement("Anwedungxxx") ' der xml stamm
XML.WriteStartElement("login") ' klassenkopf
'hier erstellen wir ein element
XML.WriteStartElement("Username")
XML.WriteValue(TextBox1.Text) 'hier wird der text aus tb2 später gespeichert in die xml
XML.WriteEndElement() 'das element schließen
'hier erstellen wir ein element
XML.WriteStartElement("Passwort")
XML.WriteValue(TextBox2.Text)
XML.WriteEndElement() 'das element schließen
XML.WriteEndElement() ' hier wird login geschlossen
' das könnte man sich vorstellen wie bei c++ mit den geschweifeten klammern
' man macht was auf und muss es wieder zumachen
' hier nochmal das selbe wie oben
XML.WriteStartElement("Einstellungen") 'klassenkopf
'hier erstellen wir ein element
XML.WriteStartElement("SpeicherpfadMusik")
XML.WriteValue(TextBox3.Text)
XML.WriteEndElement() 'das element schließen
'hier erstellen wir ein element
XML.WriteStartElement("SpeicherpfadBilder")
XML.WriteValue(TextBox4.Text)
XML.WriteEndElement()
XML.WriteEndElement()
XML.WriteEndElement() ' hier wird der stamm anwedungxxx geschlossen
XML.Close() ' das xml dokument schließen und später
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim XML As New XmlDocument ' nur eine kürzung
XML.Load("Test.xml") ' die xml laden
' die liste erstellen in den die nodes aus dem hauptnamen kopieren
Dim Meinlogin As XmlNodeList = XML.GetElementsByTagName("login")
'und nu geben wir sie an unsere tb's, lb's oder sonst wohin
For Each login As XmlNode In Meinlogin
TextBox1.Text = login.ChildNodes(0).ChildNodes(0).Value
TextBox2.Text = login.ChildNodes(1).ChildNodes(0).Value ' das childnode um 1 erhöhen sonst gibts ein fehler
' als nächstes würde hier 3 kommen als childnode u.s.w
Next
' das selbe wie oben
Dim MeineEinstellungen As XmlNodeList = XML.GetElementsByTagName("Einstellungen")
For Each Einstellungen As XmlNode In MeineEinstellungen
TextBox3.Text = Einstellungen.ChildNodes(0).ChildNodes(0).Value
TextBox4.Text = Einstellungen.ChildNodes(1).ChildNodes(0).Value
Next
End Sub
End Class
wenn ihr es nachbauen wollt sehr ihr ja 2 buttons und 4 textboxen
und so sieht das ganze aus
Code:
<Anwedungxxx>
<login>
<Username>Pain</Username>
<Passwort>1234</Passwort>
</login>
<Einstellungen>
<SpeicherpfadMusik>C:\Users\Pain\Music</SpeicherpfadMusik>
<SpeicherpfadBilder>C:\Users\Pain\Bilder</SpeicherpfadBilder>
</Einstellungen>
</Anwedungxxx>







