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
(PureBasic) Parsing XML Children Having Identical TagsDemonstrates how to deal with XML where child elements may have identical tags.
IncludeFile "CkXml.pb" Procedure ChilkatExample() ; 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> ; xml.i = CkXml::ckCreate() If xml.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkXml::ckLoadXmlFile(xml,"qa_data/xml/georgeCostanza.xml") numPhoneNumbers.i = CkXml::ckNumChildrenHavingTag(xml,"entry|*:phoneNumber") i.i = 0 While i < numPhoneNumbers xPhoneNumber.i = CkXml::ckGetNthChildWithTag(xml,"entry|*:phoneNumber",i) Debug CkXml::ckContent(xPhoneNumber) CkXml::ckDispose(xPhoneNumber) i = i + 1 Wend Debug "----" numGroupMemberships.i = CkXml::ckNumChildrenHavingTag(xml,"entry|*:groupMembershipInfo") i = 0 While i < numGroupMemberships xMembership.i = CkXml::ckGetNthChildWithTag(xml,"entry|*:groupMembershipInfo",i) Debug CkXml::ckGetAttrValue(xMembership,"href") CkXml::ckDispose(xMembership) i = i + 1 Wend CkXml::ckDispose(xml) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.