VBScript
VBScript
Parsing XML Children Having Identical Tags
See more XML Examples
Demonstrates how to deal with XML where child elements may have identical tags.Chilkat VBScript Downloads
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)
success = 0
' 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>
'
set xml = CreateObject("Chilkat.Xml")
success = xml.LoadXmlFile("qa_data/xml/georgeCostanza.xml")
numPhoneNumbers = xml.NumChildrenHavingTag("entry|*:phoneNumber")
i = 0
Do While i < numPhoneNumbers
' xPhoneNumber is a Chilkat.Xml
Set xPhoneNumber = xml.GetNthChildWithTag("entry|*:phoneNumber",i)
outFile.WriteLine(xPhoneNumber.Content)
i = i + 1
Loop
outFile.WriteLine("----")
numGroupMemberships = xml.NumChildrenHavingTag("entry|*:groupMembershipInfo")
i = 0
Do While i < numGroupMemberships
' xMembership is a Chilkat.Xml
Set xMembership = xml.GetNthChildWithTag("entry|*:groupMembershipInfo",i)
outFile.WriteLine(xMembership.GetAttrValue("href"))
i = i + 1
Loop
outFile.Close