1.解析的步骤
(1) 创建SAX解析工厂的实例。
SAXParserFactory spf = SAXParserFactory.newInstance();
(2) 创建一个SAX解析器。
SAXParser sp = spf.newSAXParser();
(3) 得到SAX的处理器(处理器由用户自己编写实现)。
SAXHandler handler = new SAXHandler();
(4) 使用用户创建的处理器,解析器解析文件。
sp.parse(new InputSource(reader), handler);
2 相关类
在J2sdk1.4中的SAX版本为2.0,它提供DefaultHandler(org.xml.sax.helpers.DefaultHandler)接口,通过这个接口实现自己的解析器。接口中需要实现的解析函数为:
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException
读取XML数据的节点元素开始时触发,需要实现这个方法进行标记元素的名字的操作。
public void endElement(String uri, String localName, String qName) throws SAXException
处理节点元素终止时触发,可以添加代码来将节点数据进行存储。
public void characters(char[] ch, int start, intlength) throws SAXException
处理节点之间的数据,可以添加代码来读取节点间的数据值。
3 实例
(1)person.xml
(2)SaxProcessor.java
(3)输出结果: