SAX解析XML文件实例代码

来源:互联网 发布:北京青少年行知实践园 编辑:程序博客网 时间:2024/05/29 14:39
import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class XMLTest extends DefaultHandler {    public void startDocument() throws SAXException{        System.out.println("<?xml version='1.0' encoding='UTF-8' ?>");    }    public void processingInstruction(String target ,String data) throws SAXException{        System.out.println("<?"+target+" "+data+"?>");    }    public void startElement(String uri,String localName,            String qName,Attributes attrs)throws SAXException {        System.out.print("<"+qName);        int len=attrs.getLength();        for(int i=0;i<len;i++){            System.out.print(" ");            System.out.print(attrs.getQName(i));            System.out.print("=\"");            System.out.print(attrs.getValue(i));            System.out.print("\"");        }        System.out.print(">");        List list=new ArrayList();    }    public void characters(char[] ch,int start,            int length)throws SAXException {        System.out.println(new String(ch,start,length));        }    public void endElement(String uri,String localName,            String qName)throws SAXException {        System.out.println("</"+qName+">");        }    public static void main(String[] args) {        SAXParserFactory sdf=SAXParserFactory.newInstance();        SAXParser sp=null;        try {            sp=sdf.newSAXParser();            //aa.xml里面必须有数据,可以解析出来里面的内容            File f=new File("c:/aa.xml");            sp.parse(f,new XMLTest());        } catch (ParserConfigurationException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (SAXException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }            }}

 

0 0
原创粉丝点击