解析XML的最快方法是什么?

时间:2010-03-15 10:10:45

标签: java xml parsing

在Java平台中解析字符串中的xml的最快方法(性能最快)是什么?

文件大小约为25kb。

约束是我没有提供xml文件,而是我必须解析xml字符串!!

3 个答案:

答案 0 :(得分:3)

通常,您有三个选项:DOMSAXStAX。 DOM速度较慢。

据说

StAX提供“DOM轻松实现SAX效率”。但是如果您展示的文档是整个文档 - 它确实无关紧要。使用较大的文件时,性能差异很重要。

答案 1 :(得分:3)

您可以使用XML字符串的解析结果构建DOM树。这是一种Java方法,可以实现您的目标:

private static Document ParseXMLString(String xmlString) {
    try {
        DocumentBuilderFactory fac = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = fac.newDocumentBuilder();
        InputSource inStream = new InputSource();
        inStream.setCharacterStream(new StringReader(xmlString));
        Document doc = db.parse(inStream);
        return doc;
    }
    catch (Exception e) {
        System.out.println(e);
    }
}

答案 2 :(得分:2)

您应该从解析理论中将适用于您的案例的一般概念。

可以使用in this article来解释主要解析技术的复杂性。

关于Java,here是Sun,Oracle和Apache在Java中的XML解析器之间的比较。

阅读文章的摘要:

  XML解析器世界是动态的。   随着标准的变化,解析器   改变 - XML解析器   变得更加复杂。对于大多数   编程项目,解析器,在   最低,必须支持DOM Level 2,SAX   2,XSLT和命名空间。一切   这里讨论的解析器提供了这些   能力;但是,有   性能差异明显,   可靠性和一致性   标准。在这篇文章中,我会   比较Sun的最新解析器,   Oracle和Apache软件   基础。

分析的其余部分可用here