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) Traverse the XML TreeDemonstrates how to traverse all nodes in an XML tree. Note: This example requires Chilkat v9.5.0.77 or greater.
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Variant vSbState Handle hoSbState String sTemp1 // Use the NextInTraversal2 method to traverse all nodes in the XML tree rooted at the caller. Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXmlFile Of hoXml "qa_data/xml/twoPigs.xml" To iSuccess // This is the XML traversed in this example: // <pig-rescue> // <herd name="Cathy"> // <species name="pot belly pig"> // <animal> // <name>Molly II</name> // <birth>February, 1998</birth> // <in-date>January, 2000</in-date> // <from>Middle Ave.</from> // <gender spay-neuter="yes">F</gender> // <info>Molly came from a place where an old, ill man had too many animals. // The animals were seldom fed and rats would eat the newborn piglets. // When Molly was found at one week old, she was the only piglet of // her siblings who did not get stepped on by a cow. She is a sweet, // friendly pig who likes to hang out on Cathy's porch on the lounge // pad. // </info> // </animal> // <animal> // <name>Nigel</name> // <birth>June, 1991</birth> // <in-date>August, 1991</in-date> // <from>Breeder</from> // <gender spay-neuter="no">M</gender> // <info> // Nigel was the first pig and the reason for the rescue in the // first place. He is 13 now and doing well, but takes a number // of medications, as you can see below. // </info> // </animal> // </species> // </herd> // </pig-rescue> // The sbState is an object used to keep track of the current state of the traversal. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbState If (Not(IsComObjectCreated(hoSbState))) Begin Send CreateComObject of hoSbState End Get pvComObject of hoSbState to vSbState While ((ComNextInTraversal2(hoXml, vSbState)) <> False) Get ComTag Of hoXml To sTemp1 Showln sTemp1 Get ComTagPath Of hoXml To sTemp1 Showln sTemp1 Showln "" Loop // Produces the following output: // herd // herd // // species // herd|species // // animal // herd|species|animal[0] // // name // herd|species|animal[0]|name // // birth // herd|species|animal[0]|birth // // in-date // herd|species|animal[0]|in-date // // from // herd|species|animal[0]|from // // gender // herd|species|animal[0]|gender // // info // herd|species|animal[0]|info // // animal // herd|species|animal[1] // // name // herd|species|animal[1]|name // // birth // herd|species|animal[1]|birth // // in-date // herd|species|animal[1]|in-date // // from // herd|species|animal[1]|from // // gender // herd|species|animal[1]|gender // // info // herd|species|animal[1]|info // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.