DefaultHandler中方法解读

java中的DafaultHandler是解析xml文件时的处理类。虽然很多处理中都是用自定义的handler去解析,但是也是继承DefaultHandler的。在DefaultHandler中有几个比较重要的方法。根据自己学习的经历体会如下:

public void startDocument() throws SAXException
第一个执行方法。
public void startElement(String uri, String localName, String qName,   Attributes attributes) throws SAXException
该方法是继第一个方法后第二个执行方法。
public void characters(char[] ch, int start, int length)   throws SAXException
这个是继startElement方法后的执行方法。
该方法中的ch把所解析的xml的所有数据都保存进来,且ch初始化为2K数据。 start是一个节点">"的位置。length就是">"到下一个"<"的长度。
public void endElement(String uri, String localName, String qName)   throws SAXException
若一个节点,比如<name>michael</name>,在执行完characters后会执行该方法。
如果节点,比如<names><name>michael</name></names>在执行names节点时,不会执行到该方法。
public void endDocument() throws SAXException
最后一个执行方法。

 

DefaultHandler类

  DefaultHandler类是SAX2事件处理程序的默认基类。它继承了EntityResolver、DTDHandler、ContentHandler和ErrorHandler这四个接口。包含这四个接口的所有方法,所以我们在编写事件处理程序时,可以不用直接实现这四个接口,而继承该类,然后重写我们需要的方法。如下:

  import org.xml.sax.*;

  import org.xml.sax.helpers.DefaultHandler;

  public class TestDefaultHandler extends DefaultHandler{

  public void startDocument() throws SAXException{

  System.out.println("开始解析!"); }

  public void endDocument() throws SAXException{

  System.out.println("解析完成!"); }

  public void startElement(String uri, String localName, String qName,

  Attributes atts) throws SAXException {

  System.out.println("元素名:"+qName);

  }

  public void endElement(String uri, String localName, String qName)

  throws SAXException{

  System.out.println("对"+qName+"的解析完成!");

  }

  }

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值