ITPub博客

首页 > IT职业 > IT职场 > java中读写XML文件初识(解析)

java中读写XML文件初识(解析)

IT职场 作者:jlwcb 时间:2021-09-09 09:03:09 0 删除 编辑

java有四种解析XML文件的方法
DOM SAX DOM4J JDOM
DOM SAX 是java官方提供的,而后两种使需要下载jar包的。
例:
采用DOM方式解析
1)创建一个DocumentBuilderFactory的对象
2)创建一个DocumentBuilder的对象
3)使用DocumentBuilder的parse(String fileName)方法解析xml文件, 该方法返回的是一个document对象,
4)使用Document的getElementByTagName("节点名")方法获得一个NodeList对象。
5)使用NodeList的item方法可以获取一个Node对象
6)使用Node的getAttributes()可以获得一个NameNodeMap对象
7)通过NameNodeMap的item方法可以获得Node对象
8)Node对象有getNodeName()方法和getNodeValue()方法
采用SAX解析
1)通过SAXParserFactory的静态newInstance()方法获取SAXParserFactory实例factory
2)通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser
3)创建一个类继承DefaultHandler,重写其中的一些方法进行业务处理并创建这个类的实例handler

4种解析方式对比
基础方法:DOM平台无关的解析方式
DOM是一次性将XML全放入内存
优点:形成了树结构,直观好理解,代码更易编写
解析过程中树结构保存在内存中,方便修改
缺点:当xml文件较大时,对内存耗费比较大,容易
影响解析性能并造成内存溢出。
SAX java提供的基于事件驱动的解析方式
逐行解析XML文件
标签开始,调用startElement方法
标签结束,调用endElement方法
根节点结束时,调用endDocument方法
优点
采用事件驱动模式,对内存耗费比较小
适用于只需要处理xml中数据时
缺点:
不易编码
很难同时访问同一个xml中的多处不同数据
JDOM
仅使用具体类而不使用接口
API大量使用了Collections类
DOM4J
JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能
DOM4J使用接口和抽象基本类方法,是一个优秀的java XML API
具有性能优异,灵活性好,功能强大和极端易用使用的特点
是一个开放源代码的软件。
当XML文件比较大的,DOM4J解析优于其他方式

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4358/viewspace-2798956/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-12

  • 博文量
    72
  • 访问量
    829