Sample code for 30+ languages & platforms
Xojo Plugin

Parsing XML Children Having Identical Tags

See more XML Examples

Demonstrates how to deal with XML where child elements may have identical tags.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// 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>
// 

Dim xml As New Chilkat.Xml

success = xml.LoadXmlFile("qa_data/xml/georgeCostanza.xml")

Dim numPhoneNumbers As Int32
numPhoneNumbers = xml.NumChildrenHavingTag("entry|*:phoneNumber")
Dim i As Int32
i = 0
While i < numPhoneNumbers
    Dim xPhoneNumber As Chilkat.Xml
    xPhoneNumber = xml.GetNthChildWithTag("entry|*:phoneNumber",i)
    System.DebugLog(xPhoneNumber.Content)

    i = i + 1
Wend
System.DebugLog("----")

Dim numGroupMemberships As Int32
numGroupMemberships = xml.NumChildrenHavingTag("entry|*:groupMembershipInfo")
i = 0
While i < numGroupMemberships
    Dim xMembership As Chilkat.Xml
    xMembership = xml.GetNthChildWithTag("entry|*:groupMembershipInfo",i)
    System.DebugLog(xMembership.GetAttrValue("href"))

    i = i + 1
Wend