B4X
B4X
Parsing XML Children Having Identical Tags
See more XML Examples
Demonstrates how to deal with XML where child elements may have identical tags.Chilkat B4X Downloads
Dim success As Boolean = 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 ChilkatXml
xml.Initialize
success = xml.LoadXmlFile("qa_data/xml/georgeCostanza.xml")
Dim numPhoneNumbers As Int = xml.NumChildrenHavingTag("entry|*:phoneNumber")
Dim i As Int = 0
Do While i < numPhoneNumbers
Dim xPhoneNumber As ChilkatXml = xml.GetNthChildWithTag("entry|*:phoneNumber", i)
Log(xPhoneNumber.Content)
i = i + 1
Loop
Log("----")
Dim numGroupMemberships As Int = xml.NumChildrenHavingTag("entry|*:groupMembershipInfo")
i = 0
Do While i < numGroupMemberships
Dim xMembership As ChilkatXml = xml.GetNthChildWithTag("entry|*:groupMembershipInfo", i)
Log(xMembership.GetAttrValue("href"))
i = i + 1
Loop