XML文件解析 --------------------笔记

本文详细介绍了SAX解析XML的工作原理和技术细节,包括如何通过事件处理机制来读取和解析XML文档,以及如何利用SAX解析器进行文档的逐行扫描。

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

用SAX(simple API for XML)解析方式逐行扫描文档,可以在任一时刻停止解析,但是操作复杂、使用其SAX向文档添加或者删除内容比较困难。它既是一种接口,也是一个软件包。

SAX工作原理:对文档进行顺序扫描,当扫描到文档开始与结束、元素开始与结束,产生事件通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
文档处理事件、元素事件、DTD或Schema事件、错误事件
SAX接口:ContentHandler、ErrorHandler、DTDHandler、EntityResolver
(1)创建事件处理程序
MyContentHandler类继承DefaultHandler实现其中的方法:startDocument、endDocument、 startElement(String( 命名空间),String(不包含前缀的标签名),String(包含前缀的标签名),Attributes(属性))、 endElement(String,String,String,Attributes)、characters(char[](读取的标签所有内 容),int(从哪一位开始读取),int(读取内容的长度))
(2)创建SAX解析器
SAXParseFactory factory = SAXParseFactory.newIntance();
XMLReader reader = factory.newSAXParse().getXMLReader();
(3)将事件处理程序分配给解析器
reader.setContentHandler(new MyContentHandler());//设置内容处理器,其中MyContentHandler类中定义接口中的各种方法
(4)对文档进行解析,将每个事件发送给处理程序
reader.parse(new InputSourse(new StringReader(resultStr)));//将读取的数据直接放到StringReader对象中,StringReader专门用于以流的方式读取字符串
resultStr为网络上下载的文件被存储为String类型

转载于:https://www.cnblogs.com/Gaojiecai/archive/2011/08/12/2136310.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值