"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

REQ: XML Reader in Textbox unter VB.net

Brunnman 01.06.2005 - 10:16 1225 5
Posts

Brunnman

Addicted
Registered: Jul 2002
Location: Wien
Posts: 583
hat schonmal wer sowas programmiert?
mit der Konsole geht es einwandfrei, nur wie kann ich das umwandeln, dass das ganze mittels Buttonklick in eine Textbox eingelesen wird?

Code für die Consolenanwendung:
Code:
Dim xread As New XmlTextReader("C:\buecher.xml")
        With xread
            .WhitespaceHandling = WhitespaceHandling.Significant
            .Read()
            .Read()
            Do
                .Read()
                Console.WriteLine("ISBN: " & .GetAttribute("isbn") & " ")
                Console.WriteLine(xread.ReadElementString)
                If .Name = "untertitel" Then
                    Console.WriteLine(" - " & xread.ReadElementString)
                End If
                Console.Write(" von " & xread.ReadElementString)
                Console.WriteLine()
                Console.WriteLine(xread.HasAttributes)
                .Read()
            Loop Until (.Name = "bücher")
            .Close()
        End With
        Console.ReadLine()

hat wer eine idee?
msdn und google hat nicht wirklich viel brauchbares ausgespuckt,
tia, Brunni
Bearbeitet von Brunnman am 01.06.2005, 12:00

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
wo genau ist das problem? :confused:

gib die strings halt nicht mit "console.writeline" aus sondern schreib sie in "tbxMyTextBox.Text"

Brunnman

Addicted
Registered: Jul 2002
Location: Wien
Posts: 583
Zitat von rettich
wo genau ist das problem? :confused:

gib die strings halt nicht mit "console.writeline" aus sondern schreib sie in "tbxMyTextBox.Text"

das problem ist, dass es so nicht läuft...
hier der code für txtEin.txt:
Code:
        Dim xread As New XmlTextReader("C:\buecher.xml")
        With xread
            .WhitespaceHandling = WhitespaceHandling.Significant
            .Read()
            .Read()
            Do
                .Read()
                txtEin.Text = "ISBN: " & .GetAttribute("isbn") & " "
                txtEin.Text = xread.ReadElementString
                If .Name = "untertitel" Then
                    txtEin.Text = " - " & xread.ReadElementString
                End If
                txtEin.Text = " von " & xread.ReadElementString
                txtEin.Text = xread.HasAttributes
                .Read()
            Loop Until (.Name = "bücher")
            .Close()
        End With

er gibt nur "false" aus, wars wars...
bei der Konsolenanwendung gibt er das richtige aus...

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
blubb, das ist klar, weil du dir mit jeder zeile den inhalt von vorher überschreibst. die letzte anweisung ist "txtEin.Text = xread.HasAttributes" und genau das steht auch drinnen.

mach ein "txtEin.Text += newText" draus (hab jetzt die syntax nicht im kopf, aber das wär mein first guess. sonst schau, obs zB ein "addLine" oder "appendText" gibt oder sonst halt auf die primitive "txtEin.Text = txtEin.Text + newText")

add:
oder füll zuerst alles in eine string-variable und schreib zum schluss die komplette variable in die textbox. "stringbuilder" sei hier als mögliches zauberwort genannt.

add2:
sorry, ich bin geistig in c# unterwegs, in VB.NET sollte es aber analog mit ähnlicher syntax gehen. "txtEin.Text = txtEin.Text + newText" geht zB sicher.
Bearbeitet von rettich am 01.06.2005, 11:58

Brunnman

Addicted
Registered: Jul 2002
Location: Wien
Posts: 583
waaaah, sry, bin geistig ned voll da, das mim überschreiben hab ich vergessen :bash:

thx ;)

rettich

Legend
waffle, waffle!
Avatar
Registered: Jan 2004
Location: wien
Posts: 794
np :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz