dom4j解析xml与document解析xml的区别,最好从性能上回答
2个回答
展开全部
印象中解析XML只有dom4j、jdom、SAX==方法,没听过还有document。
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问
SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码
其实我觉得差不多,xml的解析方式有sax和dom解析两种方式,而jdom和dom4j只是解析工具。其中sax解析是针对事件进行解析,效率较高吧,而最常用的是dom解析,就是从根元素开始对xml进行解析,因为是从头开始,所以当文档很大时,有时效率不高,另外修改删除也不是很方便。
jdom和dom4j用起来差不多,就是方法有一点小不同。你上网查查就知道了
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问
SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码
其实我觉得差不多,xml的解析方式有sax和dom解析两种方式,而jdom和dom4j只是解析工具。其中sax解析是针对事件进行解析,效率较高吧,而最常用的是dom解析,就是从根元素开始对xml进行解析,因为是从头开始,所以当文档很大时,有时效率不高,另外修改删除也不是很方便。
jdom和dom4j用起来差不多,就是方法有一点小不同。你上网查查就知道了
追问
后面那个写错了,当时看见是创建文档对象,就直接这样写了.dom4j解析后面是转为document对象,觉得和DOM解析差不多,所以问下他们处理文件时性能上有没有差别
追答
简单说一个是一次性读,一个是分开读。主要看你XML数据了。dom4j和jdom一般用都是dom4j,两个没多大区别。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询