Sample code for 30+ languages & platforms
Xojo Plugin

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim xml As New Chilkat.Xml

// 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 Int32
i = 0
Dim xmlSearch As Chilkat.Xml
xmlSearch = xml.GetRoot()
Dim afterPtr As Chilkat.Xml
afterPtr = xml.GetRoot()
Dim pTemp As Chilkat.Xml

// Alway begin the search from the root.
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.
    System.DebugLog(Str(i) + ": " + xmlSearch.Content)
    pTemp = afterPtr
    afterPtr = xmlSearch
    pTemp.GetRoot2 
    xmlSearch = pTemp
Wend

System.DebugLog("----")

// A better way:
Dim sbState As New Chilkat.StringBuilder
i = 0
While xml.NextInTraversal2(sbState) <> False
    If (xml.TagEquals("testchild1") = True) Then
        System.DebugLog(Str(i) + ": " + xml.Content)
        i = i + 1
    End If

Wend
xml.GetRoot2