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) Parsing XML Children Having Identical TagsDemonstrates how to deal with XML where child elements may have identical tags.
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Integer iNumPhoneNumbers Integer i Variant vXPhoneNumber Handle hoXPhoneNumber Integer iNumGroupMemberships Variant vXMembership Handle hoXMembership String sTemp1 // This example will get the phoneNumber's and groupMembershihpInfo's from the following XML: // <?xml version="1.0" encoding="UTF-8" ?> // <someEntries> // <entry> // <id>123</id> // <updated>2017-07-19T05:19:57.761Z</updated> // <app:edited xmlns:app="http://www.w3.org/2007/app">2017-07-19T05:19:57.761Z</app:edited> // <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"/> // <title>George Costanza</title> // <gd:name> // <gd:fullName>George Costanza</gd:fullName> // <gd:givenName>George</gd:givenName> // <gd:familyName>Costanza</gd:familyName> // </gd:name> // <gd:phoneNumber rel="http://schemas.google.com/g/2005#home">(555) 123-4567</gd:phoneNumber> // <gd:phoneNumber rel="http://schemas.google.com/g/2005#mobile">(555) 444-8877</gd:phoneNumber> // <gd:phoneNumber rel="http://schemas.google.com/g/2005#work">(555) 678-1111</gd:phoneNumber> // <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/123"/> // <gContact:groupMembershipInfo deleted="false" href="http://www.google.com/456"/> // </entry> // </someEntries> // Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Get ComLoadXmlFile Of hoXml "qa_data/xml/georgeCostanza.xml" To iSuccess Get ComNumChildrenHavingTag Of hoXml "entry|*:phoneNumber" To iNumPhoneNumbers Move 0 To i While (i < iNumPhoneNumbers) Get ComGetNthChildWithTag Of hoXml "entry|*:phoneNumber" i To vXPhoneNumber If (IsComObject(vXPhoneNumber)) Begin Get Create (RefClass(cComChilkatXml)) To hoXPhoneNumber Set pvComObject Of hoXPhoneNumber To vXPhoneNumber End Get ComContent Of hoXPhoneNumber To sTemp1 Showln sTemp1 Send Destroy of hoXPhoneNumber Move (i + 1) To i Loop Showln "----" Get ComNumChildrenHavingTag Of hoXml "entry|*:groupMembershipInfo" To iNumGroupMemberships Move 0 To i While (i < iNumGroupMemberships) Get ComGetNthChildWithTag Of hoXml "entry|*:groupMembershipInfo" i To vXMembership If (IsComObject(vXMembership)) Begin Get Create (RefClass(cComChilkatXml)) To hoXMembership Set pvComObject Of hoXMembership To vXMembership End Get ComGetAttrValue Of hoXMembership "href" To sTemp1 Showln sTemp1 Send Destroy of hoXMembership Move (i + 1) To i Loop End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.