Sample code for 30+ languages & platforms
Classic ASP

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

set xml = Server.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.
    Response.Write "<pre>" & Server.HTMLEncode( i & ": " & xmlSearch.Content) & "</pre>"
    ' 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

Response.Write "<pre>" & Server.HTMLEncode( "----") & "</pre>"

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

Loop
xml.GetRoot2 

%>
</body>
</html>