38

I am trying to parse XML with jsoup, but I can't find any examples on this task.

My XML document looks like this:

<?xml version="1.0" encoding="UTF-8">
    <tests>
        <test>
            <id>xxx</id>
            <status>xxx</status>
        </test>
        <test>
            <id>xxx</id>
            <status>xxx</status>
        </test>
        ....
    </tests>
</xml>

It should be quite straightforward, but my attempt has failed.

Code:

Element content = doc.getElementById("content");
Elements tests = content.getElementsByTag("tests");
for (Element testElement : tests) {
    System.out.println(testElement.getElementsByTag("test"));
}
jamesmortensen
  • 33,636
  • 11
  • 99
  • 120
JavaCake
  • 4,075
  • 14
  • 62
  • 125

1 Answers1

86

It seems the latest version of Jsoup (1.6.2 - released March 28, 2012) includes some basic support for XML.

String html = "<?xml version=\"1.0\" encoding=\"UTF-8\"><tests><test><id>xxx</id><status>xxx</status></test><test><id>xxx</id><status>xxx</status></test></tests></xml>";
Document doc = Jsoup.parse(html, "", Parser.xmlParser());
for (Element e : doc.select("test")) {
    System.out.println(e);
}

Give that a shot..

hooknc
  • 4,854
  • 5
  • 31
  • 60
B. Anderson
  • 3,079
  • 25
  • 33