baobaocao521 发表于 2013-1-26 14:24:58

XML解析之SAX解析

package xml;import java.io.File;import java.io.IOException;import java.util.Stack;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 XMLParserSAX extends DefaultHandler{private Stack stack = new Stack();/** * @param args */public static void main(String[] args) {SAXParserFactory factory = SAXParserFactory.newInstance();try {SAXParser sax = factory.newSAXParser();File file = new File("C:/Users/Administrator/Desktop/TestXml.xml");sax.parse(file, new XMLParserSAX());} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public void startDocument()throws SAXException{System.out.println("....startDocument....");super.startDocument();}public void endDocument()throws SAXException{System.out.println("....endDocument....");super.endDocument();}public void startElement(String uri,String localName,String name,Attributes attributes)throws SAXException{stack.push(name);String id = attributes.getValue("id");System.out.println(name + " : " + id);} public void endElement(String uri,String localName,String name,Attributes attributes)throws SAXException{stack.pop();} public void characters(char[] ch ,int start,int length){String value = new String(ch,start,length);String name = (String) stack.peek();System.out.println(name+ ":"+value);}} 
页: [1]
查看完整版本: XML解析之SAX解析