如何使用jsoup解析XML

38

我正在尝试使用jsoup解析XML,但是我找不到任何关于这个任务的示例。

我的XML文档看起来像这样:

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

这个应该很简单,但是我的尝试失败了。

代码:

Element content = doc.getElementById("content");
Elements tests = content.getElementsByTag("tests");
for (Element testElement : tests) {
    System.out.println(testElement.getElementsByTag("test"));
}

你有没有阅读过http://jsoup.org/cookbook/introduction/parsing-a-document? - yggdraa
1
@JavaCake:你目前尝试了什么?(如果你正在解析XML,Java就足够了-不需要使用jsoup) - Jayan
我已经阅读了那篇文章,但它并没有回答我的XML相关问题。 - JavaCake
3
@Jayan,我通常使用内置的XML解析器,但是它创建的代码很混乱(在我看来),所以我宁愿尝试一次使用这个API。 - JavaCake
1
请确保您查看 JOOX:https://code.google.com/p/joox/ - kaqqao
显示剩余2条评论
1个回答

86

看起来最新版本的Jsoup(1.6.2 - 于2012年3月28日发布)包含了一些基本的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);
}

试试这个方法..


5
XOM在使用Unicode字符作为数据时存在问题,且无法解析文档。Jsoup解决了我的问题。 - kommradHomer
2
我们能用Jsoup解析大文件吗? - M.S.Naidu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接