JAVA SAX 读取xml文档
package com.test; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; 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 SaxTest { public static void main(String[] args) { DefaultHandler handler = new DefaultHandler(){ /* * 读取标签开始 * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) */ @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { System.out.println(11); if(qName.equals("property") && attributes != null){ for(int i = 0; i<attributes.getLength();i++){ String aname = attributes.getLocalName(i); if(aname.equals("name")) System.err.println(attributes.getValue(i)); } } } /* * 读取文本节点 * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int) */ public void characters(char[] ch, int start, int length) { System.err.println(new String(ch)); } /* * 读取标签结束 * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String) */ @Override public void endElement(String uri, String localName, String qName) throws SAXException { System.out.println(11); if(qName.equals("property")){ System.err.println(qName); } } }; SAXParserFactory fa = SAXParserFactory.newInstance(); fa.setNamespaceAware(true); try { SAXParser sp = fa.newSAXParser(); InputStream in = new FileInputStream("E:"+File.separator+"s"+File.separator+"hibernate.cfg.xml"); sp.parse(in, handler); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } } }