![]() |
Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(PowerBuilder) Demonstrate XML SearchForTag2Demonstrates how to use SearchForTag2.
integer li_rc oleobject loo_Xml integer li_Success integer i oleobject loo_XmlSearch oleobject loo_AfterPtr oleobject loo_PTemp oleobject loo_SbState loo_Xml = create oleobject // Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 li_rc = loo_Xml.ConnectToNewObject("Chilkat.Xml") if li_rc < 0 then destroy loo_Xml MessageBox("Error","Connecting to COM object failed") return end if // 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> li_Success = loo_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 loo_XmlSearch = loo_Xml.GetRoot() loo_AfterPtr = loo_Xml.GetRoot() // Alway begin the search from the root. do while loo_XmlSearch.SearchForTag2(loo_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. Write-Debug string(i) + ": " + loo_XmlSearch.Content loo_PTemp = loo_AfterPtr loo_AfterPtr = loo_XmlSearch loo_PTemp.GetRoot2() loo_XmlSearch = loo_PTemp loop destroy loo_XmlSearch destroy loo_AfterPtr Write-Debug "----" // A better way: loo_SbState = create oleobject // Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 li_rc = loo_SbState.ConnectToNewObject("Chilkat.StringBuilder") i = 0 do while loo_Xml.NextInTraversal2(loo_SbState) <> 0 if loo_Xml.TagEquals("testchild1") = 1 then Write-Debug string(i) + ": " + loo_Xml.Content i = i + 1 end if loop loo_Xml.GetRoot2() destroy loo_Xml destroy loo_SbState |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.