XML 在 java 中解析的最佳方式
Best way for XML parsing in java
我正在使用 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>
我只需要资源详细信息(即属性)
在解析速度方面是否还有其他更好的选择。
这个问题太宽泛了,所以我不得不投反对票。我不知道你XML解释的情况是什么,所以这个答案会受到限制。
不过,我可以告诉你,经典的SAX and JAXP已经被使用了;它们并不严格要求 DTD,通过一些巧妙的枚举,您几乎可以解析任何内容。
JSoup,如 Rafael Cardoso 所提到的,通常是一个 HTML 解析器,而不是 HTML-in-XML 解析器;但它可能对你有用。如果您要查找的只是特定标签的属性以及(大概)相关数据,那么 JDK 可能拥有您需要的一切。
我们还有 JDOM、DOM4J 和其他一些工具,它们各有优缺点。因此,这个问题不是特别有建设性,基本上是 this one 的重复;你可以看看。
我建议看看 this tutorial;其中解释了如何使用标准库构建解析器。
将来,如果可能,请说明您的程序运行的条件,向我们提供 objective 和明确定义的问题,然后先更彻底地研究 Stack Overflow。尽管如此,我希望这对你有用。祝你好运!
我正在使用 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>
我只需要资源详细信息(即属性) 在解析速度方面是否还有其他更好的选择。
这个问题太宽泛了,所以我不得不投反对票。我不知道你XML解释的情况是什么,所以这个答案会受到限制。
不过,我可以告诉你,经典的SAX and JAXP已经被使用了;它们并不严格要求 DTD,通过一些巧妙的枚举,您几乎可以解析任何内容。
JSoup,如 Rafael Cardoso 所提到的,通常是一个 HTML 解析器,而不是 HTML-in-XML 解析器;但它可能对你有用。如果您要查找的只是特定标签的属性以及(大概)相关数据,那么 JDK 可能拥有您需要的一切。
我们还有 JDOM、DOM4J 和其他一些工具,它们各有优缺点。因此,这个问题不是特别有建设性,基本上是 this one 的重复;你可以看看。
我建议看看 this tutorial;其中解释了如何使用标准库构建解析器。
将来,如果可能,请说明您的程序运行的条件,向我们提供 objective 和明确定义的问题,然后先更彻底地研究 Stack Overflow。尽管如此,我希望这对你有用。祝你好运!