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
(DataFlex) Demonstrate XML SearchForTag2Demonstrates how to use SearchForTag2.
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Integer i Variant vXmlSearch Handle hoXmlSearch Variant vAfterPtr Handle hoAfterPtr Variant vPTemp Handle hoPTemp Variant vSbState Handle hoSbState String sTemp1 Boolean bTemp1 Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End // 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> Get ComLoadXml Of hoXml "<Test><testchild1>test</testchild1><testchild1>test1</testchild1><testchild1>test2</testchild1><testchild1>test3</testchild1><testchild1>test4</testchild1><testchild1>test5</testchild1><testchild1>test6</testchild1></Test>" To iSuccess Move 0 To i Get ComGetRoot Of hoXml To vXmlSearch If (IsComObject(vXmlSearch)) Begin Get Create (RefClass(cComChilkatXml)) To hoXmlSearch Set pvComObject Of hoXmlSearch To vXmlSearch End Get ComGetRoot Of hoXml To vAfterPtr If (IsComObject(vAfterPtr)) Begin Get Create (RefClass(cComChilkatXml)) To hoAfterPtr Set pvComObject Of hoAfterPtr To vAfterPtr End // Alway begin the search from the root. While (ComSearchForTag2(hoXmlSearch, vAfterPtr, "testchild1")) // If successful, xmlSearch now points to the found element. Move (i + 1) To i // 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. Get ComContent Of hoXmlSearch To sTemp1 Showln i ": " sTemp1 Move hoAfterPtr To hoPTemp Move hoXmlSearch To hoAfterPtr Send ComGetRoot2 To hoPTemp Move hoPTemp To hoXmlSearch Loop Send Destroy of hoXmlSearch Send Destroy of hoAfterPtr Showln "----" // A better way: Get Create (RefClass(cComChilkatStringBuilder)) To hoSbState If (Not(IsComObjectCreated(hoSbState))) Begin Send CreateComObject of hoSbState End Move 0 To i Get pvComObject of hoSbState to vSbState While ((ComNextInTraversal2(hoXml, vSbState)) <> False) Get ComTagEquals Of hoXml "testchild1" To bTemp1 If (bTemp1 = True) Begin Get ComContent Of hoXml To sTemp1 Showln i ": " sTemp1 Move (i + 1) To i End Loop Send ComGetRoot2 To hoXml End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.