[VB 2005] XML Problem

dope250

Grünschnabel
Hallo ihr alle,
ich brauch unbedingt eure Hilfe, wie ich eine XML Datei die ich über einen Button erstellt habe richtig einlese und auswerten kann. Ich möchte den Inhalt von <title>, <message> und <style>in Variablen speichern um diese nachher weiter verarbeiten zu können, also eine Einstellungsdatei ;) . Ich habe es mit folgendem Code Probiert:

Code:
        If Command() = "-test" Then


            Dim reader As New XmlTextReader("test.xml")

            Variable.text = reader.ReadElementString("Message")
            Variable.title = reader.ReadElementString("Title")
            Variable.MsgBoxStyle = reader.ReadElementString("Style")
            reader.Close()
            End If

Zuvor hat hab ich mit dem Button die XML Datei erstellt:

Code:
Dim xml As New Xml.XmlTextWriter("test.xml", System.Text.Encoding.UTF8)

            xml.Formatting = System.Xml.Formatting.Indented
            xml.WriteStartDocument()
            xml.WriteElementString("Message", txtMessage.Text)
            xml.WriteElementString("Title", txtTitle.Text)
            xml.WriteElementString("Style", cboxStyle.Text)
            xml.WriteEndDocument()
            xml.Close()

So, die Datei wurde auch genauso erstellt wie ich es haben wollte, aber wenn ich versuche sie einzulesen bleibt er immer bei "Variable.title = reader .... "stehen und spricht irgendwas von "Es sind mehrere Stammelemente vorhanden. Zeile 3, Position 4".
So langsam werd ich verrückt bei diesem XML Kram, ich hab mich gefreut das ich nach einer geschlagenden Stunde es soweit gebracht habe, das ich einigermaßen eine XML einlesen kann und dann kommt so ein schmarn. Ich hab mich (vergeblich) durch die MSDN durchgewühlt und per Google kommen auch nicht wirklich bessere Ergebnisse. Hoffe einer kann mir helfen ;)
Gruss,
dope250

Euch allen ein Schönes Weihnachtsfest und einen guten Rutsch ins Neue Jahr! :)
Sry das ich es in den falschen Raum erstellt hab!
 
Zuletzt bearbeitet:
Du solltest dich vielleicht etwas näher mit XML beschäftigen.

Du schreibst nämlich alles wunderbar in einer Wurst hinaus, das heißt, dein Output ist nicht valide, so wie du ihn schreibst. Das kommt bei dir raus:

Code:
<Message>Bla</Message>
<Title>Bla</Title>
<Style>Bla</Style>

Statt dessen solltest du ein Root-Element rausschreiben und die anderen Elemente als Kindelemente. Ein korrektes Beispiel ist sicherlich bei den entsprechenden Klassen-Beschreibungen in der MSDN zu finden.
 
Zurück