java解析xml,除了dom4j,还有更快的方式吗?

发布于 2021-11-25 20:31:53 字数 244 浏览 731 评论 9

场景:

从发出请求到接收数据,耗时很短,但是在解析数据组装成实体bean的时候,耗时分别在300多毫秒,100多毫秒,几十毫秒,或者10毫秒以下不等。平均数据量在600+,这样导致解析耗时,基本上要10秒及以上,这还不算其他业务的处理耗时。目前使用的是dom4j的方式来解析的,但是这个速度真的是。。。。。

提问:

请问除了dom4j,还有其他更快的方式来解析吗?或者说如果继续使用dom4j,还能怎么优化呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

自此以后,行同陌路 2021-12-02 09:01:18

多线程吧

英雄似剑 2021-12-02 08:55:01

xml过大的话,可以采用jdk自带的SAX来解析,那个貌似比较快。

我记得以前看过一个对比,

xml数据比较小的情况下,dom4j很方便。SAX比较复杂。还有一个什么的一般。

但是xml数据比较大的情况下,SAX性能比dom4j和另外一个好。

爱的那么颓废 2021-12-02 08:35:21

这数据是从平台返回的,通用的都是xml,改成json不现实。所以目前的触发点只能想想怎么解析会更快

英雄似剑 2021-12-02 08:33:53

回复
如果不是全文件解析的话,尽量不做遍历,结合xpath提取。http://www.cnblogs.com/zhenghongxin/p/4345220.html

羁拥 2021-12-02 05:30:51

回复
是全文件解析,返回的一份xml文件里面包含多条记录的,需要分别解析每一条记录,然后把某一元素的值赋给特定的实体类对应的属性上去

尐偏执 2021-12-02 02:32:24

回复
这个是不是可以试下SAX或STAX减少中间环境

梦里兽 2021-12-02 00:25:21

这几天正在关注这个,dom4j不行了么,那json吧。
http://blog.5ibc.net/p/30770.html

陌上芳菲 2021-12-01 14:40:31

xml格式是固定的,但是xml里面的 元素名称 不是和实体类的属性一一对应的,这一步是需要自己来对应的,将某一元素的值赋给实体类里面的某个属性

囚你心 2021-12-01 14:36:06

xml格式固定的话,自己用sax解析,以new对象方式来生成实体bean速度更快!

因为其它第三方组件基本上都是以反射方式来生成bean的,速度会慢得多。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文