Java中的XML解析器是否比Xalan / Xerces更快

我没有找到很多方法来提高执行密集XML处理的Java应用程序的性能,而不是利用Tarari或Datapower等硬件。 有谁知道任何加速XML解析的开源方法?

看看Stax(流媒体)解析器。 请参阅太阳参考手册 。 其中一个实施是woodstox项目 。

VTD-XML非常快。

它有一个类似DOM的API,甚至还有XPath查询。

由于没有直接提及,我会投入Aalto ,根据一些测量,这是最快的java xml解析器,如:

  • JVM序列化器 (比较,XML,JSON,protobuf,Thrift等)
  • WSTest的替代序列化方法 (Java Web服务)

这不是阿尔托开发人员编写的。

Piccolo声称速度非常快 。 不能说我自己曾经用过它。 您也可以尝试JDOM 。 与以往一样,以实际负载的代表性数据为基准。

这在一定程度上取决于你想要做什么。 您需要将整个文档拉入内存,还是以流媒体方式操作 ? 不同的方法有不同的权衡,对不同的情况更好。

根据XML消息的复杂性,您可能会发现自定义解析器的速度提高了10倍(但编写的工作量更多)但是,如果性能至关重要,我建议不要使用通用解析器。 (另外我不建议使用XML,因为它不是为性能而设计的,但这是另一个故事,…;)

检查Javolution