使用SAX读取XML

本文介绍了SAX的工作原理,即对XML文档顺序扫描并在关键节点触发事件处理函数。SAX解析器的优势在于内存占用小,适用于大文件,但其缺点是不可修改且只能顺序读取。解析步骤包括获取XML资源、解析工厂、解析器以及设置handler并调用parse方法。文中还提到了创建XML文件、Person类和自定义Handler的实现。
摘要由CSDN通过智能技术生成

1.原理

SAX的工作原理简单地说就是对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束、文档(document)结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。

2.优缺点

优点:
可以边读边解析,当XML文件过大时候相较于DOM消耗的内存较小
缺点:
只能读取不能修改
只能按顺序读取不走回头路

3.解析步骤

1、得到xml文件对应的资源,可以是xml的输入流,文件和uri
2、得到SAX解析工厂(SAXParserFactory)
3、由解析工厂获得一个SAX解析器(SAXParser)
4、传入输入流和handler给解析器,调用parse()解析

	public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {
   
        //得到SAX解析工厂(SAXParserFactory)
        SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
       	//获得一个SAX解析器(SAXParser)
        SAXParser saxParser = saxParserFactory.newSAXParser();
        //传入输出流和handler给解析器,调用parse解析
        MyHandle myHandle = new SAXReadXml().new MyHandle();
        saxParser.parse(SAXReadXml.class.getResourceAsStream("/person.xml"),myHandle);
        for (Person person : myHandle.persons){
   
            System.out.println(person);
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值