zoukankan      html  css  js  c++  java
  • Java解析XML介绍

    XML解析器提供了访问或修改用来表示数据的xml文件的能力。Java中提供了多种方式来解析xml文件。

    主要分为两类,包括解析XML文档,XML转换成对象;

    一、解析XML文档

        DOM

          DOM解析是将xml整个读入内存中,并在内存中以DOM树的形式存储。它是与平台无关的官方解析方式,所以不止在Java平台可以用DOM解析,在其他的平台也可以使用。
        优点:
            树形结构,直观,易于理解,读取方便,代码易编写。
            树形结构保存在内存中,容易修改。
        缺点:
            因为DOM是将xml文件整个读入内存中,所以对内存消耗大,在xml文件较大时,很容易造成内存溢出的情况。

        SAX

          SAX解析是Java独有的xml文件解析方式,是基于事件驱动的,每当Java程序读到xml文件中的标签头或读到标签结尾时,会触发相应的事件进行业务的处理。
        优点:
            基于事件驱动,对内存消耗小。
            适用于只需要处理xml文件中的数据的情况。
        缺点:
            因为是基于事件驱动的,所以需要针对每一种事件都要编写相应的处理方法,编码比较繁琐。
            因为SAX并不是一次性把xml读入内存中而是依次读入xml的数据的,所以不能同时操作同一个xml文件中的多个不同的数据。

        JDOM

          DOM和SAX是Java提供的两种基础的解析xml的方式,而JDOM是在基础方法上的扩展,要使用JDOM解析xml文件,需要额外导入jar包。
            优点:
                仅使用具体类而不是用接口。
                JDOM的API大量使用了Collections类,操作更加方便。

        DOM4J

          DOM4J和JDOM一样,是在Java提供的基础解析xml方式上的扩展,要使用DOM4J也需要导入额外的jar包。
            优点:
                功能强大,能够处理更加复杂的xml文档,包含一些超出基本xml文档的功能。
                性能优异,对处理较大的xml文件尤为明显。

    二、XML与Java对象的转化

        Digester - xml和Java对象之间进行转换。
        JAXB - xml和Java对象之间进行转换。
        XStream - 一个在xml和Java对象之间进行转换的库

    解析XML文档:

        (四种方式)http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/17/3082949.html

        http://www.cnblogs.com/java-class/p/6901910.html

    XML转换成Java对象:

        https://leokongwq.github.io/2017/02/18/java-xml-parser.html

  • 相关阅读:
    内部排序一
    安全的文件访问方式
    Json序列化
    对进度条的通用封装实现
    关于'//'解答
    jquery中美元符号($)命名冲突
    linux 文件属性与权限
    【层次查询】Hierarchical Queries之亲兄弟间的排序(ORDER SIBLINGS BY)
    How to create a freehand tool
    C# 获取COM对象 ProgId ClsId
  • 原文地址:https://www.cnblogs.com/itommy/p/10644566.html
Copyright © 2011-2022 走看看