title image


Smiley Re: Mit VB Daten aus XML - file auslesen
Da solltest du dich vielleicht etwas vertraut machen mit den gängigen Werkzeugen, für XML gibt's jede menge. Du kannst z.B. msxml benutzen, folgender Code baut ein Treeview aus einem XML Dokument.



Option Explicit

 

Private Sub Command1_Click()

 

    Dim domXML As DOMDocument

    Dim domNode As IXMLDOMNode

 

    Set domXML = New DOMDocument30

 

    If domXML.Load("C:\test\test.xml") Then

 

    listNodes domXML.childNodes, Nothing

 

    Else

        If domXML.parseError.errorCode <> 0 Then

            MsgBox "load XML failed: " + vbCrLf + pe(domXML)

        Else

            MsgBox "Load XML, something bad happened"

        End If

 

    End If

 

    Set domXML = Nothing

 

End Sub

 

Private Sub listNodes(nodes As MSXML2.IXMLDOMNodeList, parentnode As MSComctlLib.node)

    Dim domNode As IXMLDOMNode

    Dim node As MSComctlLib.node

 

    If nodes.length > 0 Then

        For Each domNode In nodes

            If parentnode Is Nothing Then

                Set node = TV1.nodes.Add(, , , domNode.nodeName)

            Else

                Set node = addnode(domNode, parentnode)

            End If

            If domNode.hasChildNodes Then

                listNodes domNode.childNodes, node

            End If

        Next

    End If

End Sub

 

Private Function addnode(ByVal domNode As IXMLDOMNode, parentnode As MSComctlLib.node) As MSComctlLib.node

        If domNode.nodeValue <> "" Then

            Set addnode = TV1.nodes.Add(parentnode, tvwChild, , domNode.nodeValue)

        Else

            Set addnode = TV1.nodes.Add(parentnode, tvwChild, , domNode.nodeName)

        End If

End Function

 

Private Function pe(doc As DOMDocument) As String

        Dim domParseError As IXMLDOMParseError

        Set domParseError = doc.parseError

 

        pe = "parse error: " + vbCrLf + _

             "line: " + CStr(domParseError.Line) + vbCrLf + _

             "pos: " + CStr(domParseError.linepos) + vbCrLf + _

             "text: " + domParseError.srcText

        Set domParseError = Nothing

End Function





Code eingefügt mit Syntaxhighlighter 1.9
Moderation is OK, but not to excess...



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: