javaXML(一)XML的解析

本文介绍Java中解析XML的两种主要方式:DOM和SAX。DOM适用于需要修改XML或随机读取内容的情况,而SAX更适合处理大型XML文件及仅需提取部分信息的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XML是双向的树形结构,每个元素都能够按照父节点查找子节点;也可以找到该节点的父节点。将XML文档转换到Java对象的过程称为“解析XML”。使用Java API进行XML解析是很常见的工作场景,它的难点在于API拥有太多的类名和太长的方法名要记。

Java提供的两种解析方式:
1)文档对象模型(DOM)解析器
2)简单的XML API方式(Simple API For XML SAX),即SAX,使用流的机制解析。以及后来的STAX其实是由SAX拓展来的。
它们的API是在org.w3c.xxx包下面,注意不是放在java.xxx包下或者sun.xxx包下,因为XML的规范不是SUN公司发明的,SUN公司提供的API就遵循w3c组织的标准进行提供实现方式,所以对应的API是放在org.w3c.xxx包下。流机制的读取,并不进行节点信息的存储,这样你需要自己存储,使用起来思路也很清晰,不需要像Document那样的去一层一层的进行往里面循环读取。这里就是在相应的回调方法处,写上自己要处理的代码即可。DOM方式和SAX的方式没有谁优谁劣,只是为了不同场景而生各自都有自己的优势。

SAX适于处理下面的问题:

1)适合较大的XML文件的处理;

2)只需要XML文件中的部分或者特定信息;

3)想建立自己的对象模型的时候,如BookInfoService


DOM适于处理下面的问题:

1)需要对XML文件进行修改;

2)需要随机读取XML文件的内容


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_t_y_y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值