本文共 2745 字,大约阅读时间需要 9 分钟。
代码: import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.Locator; import org.xml.sax.ContentHandler; import org.xml.sax.InputSource; import org.xml.sax.helpers.DefaultHandler; import java.io.IOException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; class TestSAX extends DefaultHandler { private StringBuffer buf; private String str; public TestSAX() { super (); } // public void setDocumentLocator(Locator locator){} public void startDocument() throws SAXException { buf = new StringBuffer(); System.out.println( " *******开始解析文档******* " ); } public void endDocument() throws SAXException { System.out.println( " *******文档解析结束******* " ); } public void startPrefixMapping( String prefix, String uri ) { System.out.println( " 前缀映射: " + prefix + " 开始! " + " 它的URI是: " + uri); } public void endPrefixMapping( String prefix ) { System.out.println( " 前缀映射: " + prefix + " 结束! " ); } // public void processingInstruction( String target, String instruction )throws SAXException{} // public void ignorableWhitespace( char[] chars, int start, int length ) throws SAXException {} // public void skippedEntity( String name ) throws SAXException {} public void startElement(String namespaceURI,String localName,String qName,Attributes atts) { System.out.println( " *******开始解析元素******* " ); System.out.println( " 元素名 " + qName); for ( int i = 0 ;i < atts.getLength();i ++ ) { System.out.println( " 元素名 " + atts.getLocalName(i) + " 属性值 " + atts.getValue(i)); } } public void endElement(String namespaceURI,String localName,String fullName ) throws SAXException { // buf.trimToSize(); str = buf.toString(); System.out.println( " buf = " + buf + " || length = " + buf.length()); System.out.println( " str = " + str.trim() + " || length = " + str.trim().length()); buf.delete( 0 ,buf.length()); System.out.println( " ****** " + namespaceURI + " 元素解析结束 " + localName + " ******** " + fullName); } public void characters( char [] chars, int start, int length ) throws SAXException { // 将元素内容累加到StringBuffer中 buf.append(chars,start,length); } public static void main(String args[]) { try { SAXParserFactory sf = SAXParserFactory.newInstance(); SAXParser sp = sf.newSAXParser(); TestSAX testsax = new TestSAX(); sp.parse( new InputSource( " test1.xml " ),testsax); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } } xml文件,我读的时候有错误,用了自己的,希望其他人比我幸运! 代码: <? xml version="1.0" encoding="GB2312" ?> < row > < person > < name > 王小明 </ name > < college > 信息学院 </ college > < telephone > 6258113 </ telephone > < notes > 男,1955年生,博士,95年调入海南大学 </ notes > </ person > </ row > 本文转自博客园执着的笨蛋的博客,原文链接: ,如需转载请自行联系原博主。