WinFuture-Forum.de: Xml Auslesen Mit Vb.net - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Xml Auslesen Mit Vb.net


#1 _i_giangreco_

  • Gruppe: Gäste

geschrieben 02. März 2005 - 21:24

Hallo liebes Forum,

ich habe bereits mehrere Stunden nach einer Lösung gesucht, doch nichts gefunden (vielleicht auch, weil ich mich mit den Begriffen in XML überhaupt nicht auskenne....): Ich versuche gerade mit VB.NET ein Updateprogramm zu erstellen. Dabei soll eine XML-Datei ausgelesen werden, die so aussieht:

- <SoftwareInfo>
- <Update>
- <Args>
  <Arg value="1.0.0.0" name="version" /> 
  <Arg value="27.Februar 2005" name="datum" /> 
  <Arg value="Verbesserung." name="reason" /> 
  </Args>
  </Update>
  </SoftwareInfo>


Ich möchte jetzt in VB.net die Version in das Bez-Feld lblVersion, das Datum in das Feld lblDatum und der Grund in das Feld lblreason schreiben...

Doch wie soll ich die XML-Datei und ein einzelnes Attribut (?) / Element (?) auslesen (ich weiss nicht welcher Begriff zutrifft)...

Gruss
ig
0

Anzeige



#2 Mitglied ist offline   stefanra 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.208
  • Beigetreten: 13. September 04
  • Reputation: 1

geschrieben 03. März 2005 - 16:48

Dann würde die Umsetzung so aussehen. Btw. nicht vergessen, System.Xml zu inkludieren.

Function ReadArgs()
        Dim reader As XmlNodeReader
        Try
            Dim doc As New XmlDocument
            doc.Load("") 'Pfad zur XML-Datei hier einfuegen
            reader = New XmlNodeReader(doc)
            While reader.Read
                Select Case reader.NodeType
                    Case XmlNodeType.Element
                        If reader.Name = "Arg" Then
                            If reader.GetAttribute("name") = "version" Then
                                Me.lblversion.Text = reader.GetAttribute("value")
                            ElseIf reader.GetAttribute("name") = "datum" Then
                                Me.lbldatum.Text = reader.GetAttribute("value")
                            Elseif reader.GetAttribute("name") = "reason" Then
                                Me.lblreason.Text = reader.GetAttribute("value")
                            End If
                        End If
                End Select
            End While
        Catch ex As Exception
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Function

Den innersten Abfrageteil, der hier mit if-Abfragen gemacht wird, kann natürlich auch und wohl besser mit Select gemacht werden.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0