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
(Delphi ActiveX) Parsing XML Children Having Identical TagsDemonstrates how to deal with XML where child elements may have identical tags.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var xml: TChilkatXml; success: Integer; numPhoneNumbers: Integer; i: Integer; xPhoneNumber: IChilkatXml; numGroupMemberships: Integer; xMembership: IChilkatXml; begin // 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 := TChilkatXml.Create(Self); success := xml.LoadXmlFile('qa_data/xml/georgeCostanza.xml'); numPhoneNumbers := xml.NumChildrenHavingTag('entry|*:phoneNumber'); i := 0; while i < numPhoneNumbers do begin xPhoneNumber := xml.GetNthChildWithTag('entry|*:phoneNumber',i); Memo1.Lines.Add(xPhoneNumber.Content); i := i + 1; end; Memo1.Lines.Add('----'); numGroupMemberships := xml.NumChildrenHavingTag('entry|*:groupMembershipInfo'); i := 0; while i < numGroupMemberships do begin xMembership := xml.GetNthChildWithTag('entry|*:groupMembershipInfo',i); Memo1.Lines.Add(xMembership.GetAttrValue('href')); i := i + 1; end; end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.