package com.shun; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class SaxHandler extends DefaultHandler{ //标签中的内容 @Override public void characters(char[] ch, int start, int length) throws SAXException { String str = new String(ch,start,length); System.out.println(str); } //开始解析文档 @Override public void startDocument() throws SAXException { } //开始解析一个节点 @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { //根据 属性的 名称拿到 属性值 System.out.println("attribute"+attributes.getValue("sal")); System.out.println("uri:"+ uri + " localName:"+localName +" qName:"+qName); } //这个节点解析结束 @Override public void endElement(String uri, String localName, String qName) throws SAXException { } //文档解析结束 @Override public void endDocument() throws SAXException { } }
解析
package com.shun; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; public class ParserTest { public static void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParse = factory.newSAXParser(); String path = ParserTest.class.getResource("/").getPath(); SaxHandler saxHandler = new SaxHandler(); saxParse.parse(path + "sax.xml", saxHandler); System.out.println(path); } }