继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

hereandthere4387547
关注TA
已关注
手记 6
粉丝 2
获赞 22

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解析优于其他方式

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP