Sample code for 30+ languages & platforms
Java

Parsing XML Children Having Identical Tags

See more XML Examples

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

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    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>
    // 

    CkXml xml = new CkXml();

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

    int numPhoneNumbers = xml.NumChildrenHavingTag("entry|*:phoneNumber");
    int i = 0;
    while (i < numPhoneNumbers) {
        CkXml xPhoneNumber = xml.GetNthChildWithTag("entry|*:phoneNumber",i);
        System.out.println(xPhoneNumber.content());

        i = i+1;
        }

    System.out.println("----");

    int numGroupMemberships = xml.NumChildrenHavingTag("entry|*:groupMembershipInfo");
    i = 0;
    while (i < numGroupMemberships) {
        CkXml xMembership = xml.GetNthChildWithTag("entry|*:groupMembershipInfo",i);
        System.out.println(xMembership.getAttrValue("href"));

        i = i+1;
        }
  }
}