XML之JAXP的SAX解析技术

本文介绍了XML解析中的两种方法——DOM和SAX的优缺点。DOM解析在内存中创建对象结构,适合增删改但可能引发内存溢出;而SAX采用事件驱动,避免内存问题但不支持增删改。接着详细讲解了JAXP的SAX解析过程,包括startElement、characters和endElement等关键方法,并提供了一个获取解析器并解析XML的范例。
摘要由CSDN通过智能技术生成

简介:

JAXP是sun公司提供的解析xml文件的能力,包含dom解析和sax解析方式.

DOM和SAX解析的优缺点:

DOM:根据xml的层级结构在内存中分配一个属性结构,将xml的标签,属性,文本都当做对象
优点:很方便的进行节点的增删改
缺点:如果文件过大,会造成内存溢出
SAX:采用事件驱动,边读边解析,从上到下一行一行的解析,解析到某一个对象将对象名称返回
优点:不会出现内存溢出,方便实现查询
缺点:不能进行增删改操作.

JASP的SAX解析方式解析

sax不能实现增删改操作,只能进行查询操作
当解析到开始标签的时候,会自动执行startElement方法,返回开始标签名
当解析到文本时候,会自动执行characters方法,返回文本内容
当解析到结束标签的时候,会自动执行endElement方法,返回结束标签名

范例

获取解析器并解析

public class SaxDemo
{
   
    public static void main(String[] args) throws Exception
    {
   
        // 获取SAX解析器工厂
        SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
        // 获取解析器
        SAXParser saxParse = saxParserFactory.newSAXParser();
        // 进行解析
        DefaultHandler handler = new SaxHandler2();
        saxParse.parse("schema/person2.xml", handler);
    }
}

解析:

需要继承DefaultHandler类,重写startElement,characters,endElement三个主要方法
startElement:当解析器执行到开始标签时自动执行,可获得开始标签名和属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值