在Java平台中解析字符串中的xml的最快方法(性能最快)是什么?
文件大小约为25kb。
约束是我没有提供xml文件,而是我必须解析xml字符串!!
答案 0 :(得分:3)
通常,您有三个选项:DOM,SAX和StAX。 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。