MySax package cn.com; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class MySax extends DefaultHandler { //文档开始 public void startDocument() throws SAXException { System.out.println("文档开始"); System.out.println("<?xml version=/"1.0/" encoding=/"GBK/"?>"); } //文档结束 public void endDocument() throws SAXException { System.out.println("文档结束"); } //元素开始 public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { //元素开始的时候输出< System.out.print("<"); //输出元素的名称 System.out.print(qName); //如果元素还包含属性,则输出属性 if(attributes!=null){ for(int i=0;i<attributes.getLength();i++){ System.out.print(" "+attributes.getQName(i)+"="+"/""+attributes.getValue(qName)+"/""); } } System.out.print(">"); } @Override public void characters(char[] ch, int start, int length) throws SAXException { System.out.print(new String(ch,start,length)); } //元素结束 public void endElement(String uri, String localName, String qName) throws SAXException { System.out.print("<"); System.out.print(qName); System.out.print(">"); } } Test: package cn.com; import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.SAXException; public class Test { /** * @param args * @throws IOException * @throws SAXException * @throws * @throws ParserConfigurationException */ public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException { //建立解析工厂 SAXParserFactory facotry = SAXParserFactory.newInstance(); //获取解析实例 SAXParser parse = facotry.newSAXParser(); //传入解析文件和解析器进行解析 parse.parse(new File("D:"+File.separator+"output.xml"),new MySax()); } }