Go
Go
Demonstrate XML SearchForTag2
Demonstrates how to use SearchForTag2.Chilkat Go Downloads
success := false
xml := chilkat.NewXml()
// 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 := xml.GetRoot()
afterPtr := xml.GetRoot()
// pTemp is a Xml
// Alway begin the search from the root.
for 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.
fmt.Println(i, ": ", xmlSearch.Content())
pTemp := afterPtr
afterPtr = xmlSearch
pTemp.GetRoot2()
xmlSearch = pTemp
}
xmlSearch.DisposeXml()
afterPtr.DisposeXml()
fmt.Println("----")
// A better way:
sbState := chilkat.NewStringBuilder()
i = 0
for xml.NextInTraversal2(sbState) != false {
if xml.TagEquals("testchild1") == true {
fmt.Println(i, ": ", xml.Content())
i = i + 1
}
}
xml.GetRoot2()
xml.DisposeXml()
sbState.DisposeStringBuilder()