Sample code for 30+ languages & platforms
Visual Basic 6.0

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

Dim xml As New ChilkatXml

' Load the following XML:

' 	<Test>
' 	    <testchild1>
' 	        test
' 	    </testchild1>
' 	    <testchild1>
' 	        test1
' 	    </testchild1>
' 	    <testchild1>
' 	        test2
' 	    </testchild1>
' 	    <testchild1>
' 	        test3
' 	    </testchild1>
' 	    <testchild1>
' 	        test4
' 	    </testchild1>
' 	    <testchild1>
' 	        test5
' 	    </testchild1>
' 	    <testchild1>
' 	        test6
' 	    </testchild1>
' 	</Test>

success = xml.LoadXml("<Test><testchild1>test</testchild1><testchild1>test1</testchild1><testchild1>test2</testchild1><testchild1>test3</testchild1><testchild1>test4</testchild1><testchild1>test5</testchild1><testchild1>test6</testchild1></Test>")

Dim i As Long
i = 0
Dim xmlSearch As ChilkatXml
Set xmlSearch = xml.GetRoot()
Dim afterPtr As ChilkatXml
Set afterPtr = xml.GetRoot()
Dim pTemp As ChilkatXml

' Alway begin the search from the root.
Do While xmlSearch.SearchForTag2(afterPtr,"testchild1")
    ' If successful, xmlSearch now points to the found element.
    i = i + 1

    ' Set afterPtr = xmlSearch (so we find the next match after the one we just found)
    ' Rest xmlSearch to the root of the XML tree to be searched.
    Debug.Print i & ": " & xmlSearch.Content
    Set pTemp = afterPtr
    Set afterPtr = xmlSearch
    pTemp.GetRoot2 
    Set xmlSearch = pTemp
Loop

Debug.Print "----"

' A better way:
Dim sbState As New ChilkatStringBuilder
i = 0
Do While xml.NextInTraversal2(sbState) <> 0
    If (xml.TagEquals("testchild1") = 1) Then
        Debug.Print i & ": " & xml.Content
        i = i + 1
    End If

Loop
xml.GetRoot2