Sample code for 30+ languages & platforms
VBScript

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

set xml = CreateObject("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>")

i = 0
' xmlSearch is a Chilkat.Xml
Set xmlSearch = xml.GetRoot()
' afterPtr is a Chilkat.Xml
Set afterPtr = xml.GetRoot()

' 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.
    outFile.WriteLine(i & ": " & xmlSearch.Content)
    ' pTemp is a Chilkat.Xml
    Set pTemp = afterPtr
    ' afterPtr is a Chilkat.Xml
    Set afterPtr = xmlSearch
    pTemp.GetRoot2 
    ' xmlSearch is a Chilkat.Xml
    Set xmlSearch = pTemp
Loop

outFile.WriteLine("----")

' A better way:
set sbState = CreateObject("Chilkat.StringBuilder")
i = 0
Do While xml.NextInTraversal2(sbState) <> 0
    If (xml.TagEquals("testchild1") = 1) Then
        outFile.WriteLine(i & ": " & xml.Content)
        i = i + 1
    End If

Loop
xml.GetRoot2 

outFile.Close