SAX方式解析XML文件

本文介绍了SAX方式解析XML文件的要点,包括需要从上到下扫描标签,处理类需继承DefaultHandler并重写特定方法。通过实例展示了如何定义实体类、处理类和控制层来实现XML解析,并强调在main方法中的调用步骤。
摘要由CSDN通过智能技术生成

SAX方式解析XML类型文件

前言

在使用此方式对XML文件进行解析的时候,有几个要点需要注意一下

Sax解析时是从上到下对标签进行挨个扫描,一个处理类(saxservice)只能处理一种标签

  • 处理类 需要继承 DefaultHandler

  • 需要重写方法

    1. startDocument
    2. endDocument
    3. startElement
    4. endElement
    5. 如果需要输出中间的文本信息 则要重写 characters 方法
  • 在主方法中必须要写的

    	//1、获取解析工厂
        SAXParserFactory factory = SAXParserFactory.newInstance();
        //2、从解析工厂获取解析器
    	 SAXParser parse = factory.newSAXParser();
    	 //3.在使用parse方法传入路径和自己定义的处理类
    	 parse.parse(filepath,saxservice);
    

实例:

.xml类型页面
<menubar>
<tismenu iconSclass="z-icon-th" label="资产" permission="menu:baseassets">
	<menupopup>
					<tismenuitem label="账户" id="AbsAcct" permission="menuitem:acct" />
					<tismenuitem label="分期" id="AbsMpur" permission="enuitem:absmpur" />
	<tismenuitem label="结果查询" id="Result" permission="menuitem:resultsearch" />
		
	</menupopup>
</tismenu>		
首先需要定义entry实体类

用于接收信息 如label 、permission、orderno等,赋予get、set、construct此处不演示了

定义SaxTisMenu类
/**
 * @Description Sax解析Tismenu标签
 * @Author wangshiqin
 * @Date 2021/5/21
 * ===========功能描述==============
 */
//使用SAX解析必须的步骤
public class SaxTisMenu extends DefaultHandler {
   
    //定义用于存放一级菜单信息的类和集合
    private Node4Menu node4menu;
    private List<Node4Menu> list;
    private int count=0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值