Problem beim Auslesen eines Strings



  • Hi,

    ich habe folgende XML-Datei:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements>
      <Description>Die Beschreibung</Description>  
      <Wert>Hallo</Wert>
    </Elements>
    

    Ich habe folgendermaßen versucht an den in Inhalt von Element "Wert" zu kommen:

    XmlTextReader xmlReader = new XmlTextReader("test.xml");
                xmlReader.ReadStartElement("Elements");
                MessageBox.Show(xmlReader.ReadElementString("Wert"));
                xmlReader.ReadEndElement();
                xmlReader.Close();
    

    Es wird mir immer eine Exception um die Ohren gehauen, die da sagt: "Das Element 'Wert' wurde nicht gefunden."

    Kann mir jemand sagen, was ich beim auslesen falsch mache? Oder habe ich die XML-Datei bereits falsch erstellt?

    Euer Rudi 🙂



  • XML-Junge schrieb:

    Hi,

    ich habe folgende XML-Datei:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements>
      <Description>Die Beschreibung</Description>  
      <Wert>Hallo</Wert>
    </Elements>
    

    Ich habe folgendermaßen versucht an den in Inhalt von Element "Wert" zu kommen:

    XmlTextReader xmlReader = new XmlTextReader("test.xml");
                xmlReader.ReadStartElement("Elements");
                MessageBox.Show(xmlReader.ReadElementString("Wert"));
                xmlReader.ReadEndElement();
                xmlReader.Close();
    

    Es wird mir immer eine Exception um die Ohren gehauen, die da sagt: "Das Element 'Wert' wurde nicht gefunden."

    Kann mir jemand sagen, was ich beim auslesen falsch mache? Oder habe ich die XML-Datei bereits falsch erstellt?

    Euer Rudi 🙂

    nur ganz grob zieh ne Textbox in dein Project auf die Form
    und mach in einen Buttonklick-Callback folgenden Code rein

    XmlTextReader xmltextr = null;
    
    			try
    			{
                                        xmltextr = new XmlTextReader("C:\\test1.xml"); 
    				while(xmltextr.Read())
    				{
    					textBox1.Text = textBox1.Text + xmltextr.LocalName + " " + xmltextr.Value;
    				}
    			}
    			catch(System.Exception ex)
    			{
    				MessageBox.Show(ex.Message);
    			}
    			finally
    			{
    				xmltextr.Close();
    			}
    

    Und guck dir in der MSDN diese Klasse bitte mal genauer an!



  • ReadElementstring funktioniert erst wenn Du einen Knoten ausliesst

    Siehe bei mir im Kopf der while-Schleife

    wenn er einen Knoten lesen konnte,
    bietet die klasse exorbitant viele Moeglichkeiten den Knoten auf alle moeglichen Knoten-Varianten/Konstellationen/Typen/Elementattribute tec.

    den gelesen Knoten zu untersuchen!!!

    Deshalb ein guter Rat guck Dir die Klasse mal an die MSDN hat dazu auch praktische Beispiele.

    Gruss sclearscreen


Anmelden zum Antworten