`

四种解析xml总结

    博客分类:
  • java
阅读更多

    xml解析分为SAX,DOM,JDOM,DOM4J四种:
    dom:把xml文件读到内存中去,并生成树型结构,以后访问只要在树节点中找就行,由于要把xml解析到内存中去,所以不能解析操作10M的文件
    sax:基于事件驱动,文档的开始结束,元素开始结束节点遍历,对文档只能遍历一次,但能解析大型xml文件,速度比dom快,欠缺的是用SAX 解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
     jdom:利用"Java 规范请求 JSR-102",与 DOM 主要有两方面不同。首先,JDOM 仅使用具体类而不使用接口。这在某些方面简化了 API,但是也限制了灵活性。第二,API 大量使用了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使用。
     dom4j:使用接口和抽象基本类方法,大量使用了 API 中的 Collections 类,因为JDOM 和 DOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出,而各方面dom4j都由于他们,现在许多开源项目都使用了dom4j,比如hibernate对xml的解析.
      但到目前为止我还是热衷用dom解析xml,解析步骤如下:
      //创建文档构建工厂
     DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
     //创建文档构建器
    DocumentBuilder builder=factory.newDocumentBuilder();
    //创建文档对象,解析指定的文件
 Document doc = builder.parse(new File(fileName));
    //根据tagName创建节点列表
 NodeList nl = doc.getElementsByTagName(tagName);
    //循环遍历
 for (int i=0;i<nl.getLength();i++){ 
         String str = doc.getElementsByTagName(tagName).item (i).getFirstChild  ().getNodeValu();
   }

    详情参考:http://www.it.com.cn/f/edu/053/27/93819.htm

分享到:
评论
2 楼 pro_ygw 2007-06-11  
呵呵,多谢夸张,为了以后回顾方便,所以写在这里,我希望你也多写点东西放到你的空间去,我也来逛逛
1 楼 cgc520 2007-06-11  
啊旺,写得好,值的学习!我正要用呢,多谢了,呵呵!

相关推荐

Global site tag (gtag.js) - Google Analytics