在XMLReader接受XML文档,并对读入的xml文件进行解析,解析开始之前,需要向XMLReader注册一个ContentHandler,也就是相当于一个事件监听器,在ContentHandler中定义了很多方法,当XMLReader读到合适的内容,就会抛出相应的事件,并把这个事件的处理权代理给ContentHandler,调用其相应的方法进行响应。
ContentHandler是一个接口,当处理特定的XML文件的时候,需要为其创建实现了此接口的类来处理特定的事件。而org.xml.sax.helpers.DefaultHandler类实现了此接口,所以我们只要继承DefaultHandler,并覆盖其中的方法即可。具体常用的几个方法在下面程序中有详细注释:
package xml;
import java.io.FileReader;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.XMLReaderFactory;;
public class SaxTest extends DefaultHandler{
public static void main(String[] args) throws ParserConfigurationException, SAXE