SAX解析XML

来源:互联网 发布:流程图制作软件 vision 编辑:程序博客网 时间:2024/06/06 01:41

import java.io.File;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.junit.runners.Parameterized.Parameters;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
//如何来解析xml文件
class MyDefaultHandler extends DefaultHandler{
    //DefaultHandler核心API:
       //void startDocument :在读取文档开始的时候
    public void startDocument() throws SAXException {
        System.out.println("MyDefaultHandler.startDocument()");
    }
       //void endDoucment :在文件结束的调用
    public void endDocument() throws SAXException {
        System.out.println("MyDefaultHandler.endDocument()");
    }
       //void startElement :读到开始标签的时候调用
    /*
     * @param qName 表示开始标签的标签名
     *
     */
    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        System.out.println("MyDefaultHandler.startElement()-->"+qName);
    }
       //void endElement :读到结束的时候电泳
    /*param qName 表示开始标签的标签名*/
    public void endElement(String uri, String localName, String qName) throws SAXException {
        System.out.println("MyDefaultHandler.endElement()-->"+qName);
    }
    /*
     * @param ch:表示xml所有的文本内容
     * @param start:表示文本开始的位置
     * @param length:表示文本的长度  
     * */
    //character : 读到文本内容的时候调用
    public void characters(char[] ch, int start, int length) throws SAXException {
        String str = new String(ch, start, length);
        System.out.println("MyDefaultHandler.characters()-->"+str);
    }
       
}
class Demo{
    public static void main(String[] args) throws Exception{
        //创建SAXparser对象
        SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
        //调用parse方法
        parser.parse(new File("F:\\person.xml"), new MyDefaultHandler());
    }
}
原创粉丝点击