Sample code for 30+ languages & platforms
Chilkat2-Python

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat Chilkat2-Python Downloads

Chilkat2-Python
import chilkat2

success = False

xml = chilkat2.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 CkXml
xmlSearch = xml.GetRoot()
# afterPtr is a CkXml
afterPtr = xml.GetRoot()

# 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.
    print(str(i) + ": " + xmlSearch.Content)
    # pTemp is a CkXml
    pTemp = afterPtr
    # afterPtr is a CkXml
    afterPtr = xmlSearch
    pTemp.GetRoot2()
    # xmlSearch is a CkXml
    xmlSearch = pTemp

print("----")

# A better way:
sbState = chilkat2.StringBuilder()
i = 0
while xml.NextInTraversal2(sbState) != False :
    if (xml.TagEquals("testchild1") == True):
        print(str(i) + ": " + xml.Content)
        i = i + 1

xml.GetRoot2()