Dim sSelect() As String, sXML As String, i As Integer, xNode As
XmlNode, tNode As XmlNode
' Break down the input string
sSelect = Split(sInput, "/")
If UBound(sSelect) < 1 Then Return ""
' Get the first node
xNode = xmldoc.GetElementsByTagName(sSelect(1)).Item(0)
' go to the next-to-last element
For i = 2 To UBound(sSelect) - 1
If xNode.HasChildNodes Then
For Each tNode In xNode.ChildNodes
If tNode.Name = sSelect(i) Then
xNode = tNode
Exit For
End If
Next
Else
Return ""
End If
Next
' Handle last node or attribute
If Mid(sSelect(i), 1, 1) = "@" Then
If xNode.Attributes(Mid(sSelect(i), 2)) Is Nothing Then
Return ""
Else
Return xNode.Attributes(Mid(sSelect(i), 2)).InnerText
End If
Else
For Each tNode In xNode.ChildNodes
If tNode.Name = sSelect(i) Then
xNode = tNode
Exit For
End If
Next
If xNode Is Nothing Then Return ""
Return xNode.InnerText
End If
End Function
"Dan" <d...@dontspamme.com> wrote in message
news:%23FLJcnM...@TK2MSFTNGP11.phx.gbl...
Dan
"Chris Tacke, eMVP" <ctacke[at]OpenNETCF_dot_org> wrote in message
news:OO3QitMm...@TK2MSFTNGP09.phx.gbl...
-Chris
"Dan" <d...@dontspamme.com> wrote in message
news:u0kCoaNm...@TK2MSFTNGP10.phx.gbl...