【问题标题】:How to parse XML with jsoup如何使用 jsoup 解析 XML
【发布时间】:2012-04-10 19:21:56
【问题描述】:

我正在尝试使用 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"));
}

【问题讨论】:

  • @JavaCake :到目前为止你尝试过什么? (如果是解析xml,java就够了——不需要jsoup)
  • 我已阅读,但它没有回答我的 XML 特定问题。
  • @Jayan,我通常使用内置 XML 解析器,但它会创建混乱和模糊的代码(在我看来),所以我宁愿尝试使用这个 API 一次。
  • 一定要看看 JOOX:code.google.com/p/joox

标签: java xml-parsing jsoup


【解决方案1】:

似乎最新版本的 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);
}

试一试..

【讨论】:

  • xom 将 unicode 字符作为数据存在问题,并且无法解析文档。这个 Jsoup 解决了我的问题。
  • 可以用Jsoup解析大文件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 2018-11-19
  • 2021-12-24
相关资源
最近更新 更多