Xml解析及导入数据图总结

大型XML数据的解析以及由XML数据转换到数据库数据探索
                    一下将分两点介绍:1、大型XML的解析,2、XML数据存储到数据库
             1、大型XML的解析
              解析Xml的方法包括如下几种:                  
             1)、DOM4J

2)、JDOM

3)、DOM

4)、SAX

5)、自己编写适合的解析器

DOM4J,JDOM,DOM解析:

优点:容易使用,容易上手,对数据的处理简单

缺点:不能用于解析大型的XML

分析:由于这三种解析器实现的方法都是要把整个XML文件加载到系统中,顾这容易使得出现内存溢出的现象。所以这样解析的方法占用很大的内存,在解析大型的XML数据中不建议使用

SAX解析

优点:容易使用,容易上手,能解析大型的XML文件

缺点:数据的处理比较麻烦

分析:SAX解析是通过加载文件的一部分进行解析,而不是把整个文件加载到内存中,占用内存少,顾它可用于解析大型的XML。也是解析大型的XML中常用的解析器。

自己编写适合的解析器

优点:不需要对数据进行处理

缺点:实现齐全的功能较难

分析:这种方法是更觉XML文档的结构进行解析,需要对XML文档的结构有一定的了解,通过IO流将XML的文档内容以字符形式读入内存,在更觉字符的类型进行判断XML的内容

2、XML数据转换到数据库数据

       由于在将XML文件中的数据信息添加到数据库中,需要执行很多次的insert操作,顾需要进行很多次的数据库的访问,访问数据库也得需要占用程序的时间,在解析大型XML数据时,就要对数据库进行非常多的访问,一般大型的XML文件至少要进行100W次的insert操作。

那么怎样减少在将数据插入数据库的时候占用更少的时间呢?

      通过交流发现在java里面对数据库的操作有批处理的方法,于是可以将本来要向数据库提交很多次的操作,将它们添加到批处理的队列中,在解析玩XML文件后再进行一次性的提交,这样就减少了多次提交信息到数据库而造成访问数据库的时间。

这种批处理的方法也是在实际操作中经常用到的。



你可能感兴趣的:(java,xml,数据库,存储,文档,insert)