Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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-2024 Chilkat Software, Inc. All Rights Reserved.