SAX解析XML文件实例代码
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(); } } }