DefaultHandler中方法解读

android例子 专栏收录该内容
31 篇文章 0 订阅

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
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值