【问题标题】:Best way for XML parsing in java [closed]java中XML解析的最佳方法[关闭]
【发布时间】:2015-08-21 11:11:36
【问题描述】:

我正在使用 stax 来解析包含 HTML 和 java 中自定义标签的 XML。

XML 看起来像这样

<html><div>Hello World</div><div><br /></div>
<div><br />
<Resource type="audio/m4a" height="72.00" id="lh6rde3c1d39148804cea99b054f4cc4bb990" width="72.00" />
<br /><br /></div>
<div><br />
</div><div>asfasdfasdfasdf</div><div><br /></div><div><br /></div><div><b>asdfasdfasdfasdf</b></div>
<div>
<b>adsfasdfasdf</b>
</div><div><b><br /></b></div><div><b><i>sdfasdfasdfas</i></b></div><div><i><b>asdfasdfasdfasdf</b>asdfasdfasdfasdf</i>
</div>
<Resource type="video/mp4" height="72.00" id="lh6rde3c1d39148804cesdfd2454f4cc4bb990" width="72.00" />
<div><i>asdfasdfasdfasdfasdf</i></div>
<div><ol><li><i>one</i></li><li><i>wto</i></li><li><i>three</i></li></ol><div>
<i>
asdfasdfasdfasdf</i>
</div><div>
<ul><li><i>one </i></li><li><i>thwo</i></li><li><i>three</i></li></ul></div>
</div></html>

我只需要资源详细信息(即属性) 在解析速度方面还有其他更好的选择吗?

【问题讨论】:

  • 使用作为 HTML/XML 解析器的 Jsoup(一个库)

标签: java xml-parsing jackson


【解决方案1】:

这个问题过于宽泛,所以我不得不投反对票。我不知道你的 XML 解释是什么情况,所以这个答案将是有限的。

但是,我可以告诉你,经典的 SAX and JAXP 已经被使用过;它们并不严格要求 DTD,并且通过一些巧妙的枚举,您几乎可以解析任何内容。

JSoup,正如 Rafael Cardoso 所说,一般是 HTML 解析器,而不是 HTML-in-XML 解析器;但它可能对你有用。如果您要查找的只是特定标签的属性以及(可能)相关数据,那么 JDK 可能拥有您需要的一切。

我们还有 JDOM、DOM4J 和许多其他的,它们都有自己的优点和缺点。因此,这个问题不是特别有建设性,基本上是this one 的重复;你可以看看。

我建议看this tutorial;它解释了如何使用标准库构建解析器。

以后,如果可能的话,请说明你的程序运行的条件,给我们提供一个客观明确的问题,然后先更彻底地研究一下 Stack Overflow。尽管如此,我希望这对你有用。祝你好运!

【讨论】:

    猜你喜欢
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2013-03-14
    • 2018-12-22
    • 1970-01-01
    • 2010-10-28
    相关资源
    最近更新 更多