丁保国的博客

收集整理工作生活,点点滴滴

  :: :: 博问 :: 闪存 :: :: :: :: 管理 ::
jaxp的速度的确非常的快,公安部项目的数据处理就是用的jaxp,一个100M的xml文件的处理速度只需要几分钟。而且使用方法非常简单:只需要两个步骤,覆盖五个方法:


步骤一:开始处理xml文档
      //初始化sax类,我们都知道jaxp只是一个规范,实际上是使用sax类实现jaxp DefaultHandler接口
      SAXParserFactory spf = SAXParserFactory.newInstance();
      SAXParser saxParser = null;
 //初始化parse实例
      saxParser = spf.newSAXParser();
 //开始处理xml文件
      saxParser.parse(new File(SourcePath + filename), new sax());

步骤二:覆盖以下五个方法
//在文档开始和结束时作一些初始化的工作
1.startDocument()
2.endDocument()

 //覆盖DefaultHandler接口中的startElement方法,读取一行XML数据的开始标记时候执行此方法;
3.startElement(String, String, String, Attributes)

//覆盖DefaultHandler接口中的endElement方法,主要用来在一行XML数据读取完毕后进行自己的处理;
4.endElement(String, String, String)

//覆盖DefaultHandler接口中的characters方法,主要用来得到和之间具体的数据;
// 当对应myElement的标记发现值后,也就是startElement方法执行完毕后,就会触发这个characters方法来得到具体的数值;
5.characters(char[], int, int)

说明:
1.在startElement时,判断是哪个元素名称,并将该元素的所有变量初始化
2.characters给变量赋值
3.endElement时,对得到的一组变量进行处理,如组合为sql语句,执行数据库操作

如果大家有什么问题,欢迎讨论!!

posted on 2009-10-15 10:38  丁保国  阅读(358)  评论(0编辑  收藏  举报