
新建Demo1类:
import java.io.File;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;public class Demo1 {public static void main(String[] args) throws Exception{//1.创建SAXParser对象//SAXParser parser = SAXParserFactory.newInstance().newSAXParser();//2.调用parse方法parser.parse(new File("./src/contact.xml"), new MyDefaultHandler());//使用指定的 DefaultHandler 将指定文件的内容解析为 XML。这里一定要自定义MyDefaultHandler类,且在里面实现业务逻辑。不理解先死记住这种模式。}}
接着给出自定义继承DefaultHandler的MyDefaultHandler
import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class MyDefaultHandler extends DefaultHandler {@Overridepublic void startdocument() throws SAXException {System.out.println("MyDefaultHandler.startdocument()");}@Overridepublic void startElement(String uri, String localName, String qName,Attributes attributes) throws SAXException {System.out.println("MyDefaultHandler.startElement()-->"+qName);}@Overridepublic void endElement(String uri, String localName, String qName)throws SAXException {System.out.println("MyDefaultHandler.endElement()-->"+qName);} @Overridepublic void characters(char[] ch, int start, int length)throws SAXException {//得到当前文本内容String content = new String(ch,start,length);System.out.println("MyDefaultHandler.characters()-->"+content);}@Overridepublic void enddocument() throws SAXException {System.out.println("MyDefaultHandler.enddocument()");}}打印输出,更直观认识sax解析过程。下一篇给出应用案例
以上就是XML解析之SAX解析过程代码详解的内容,更多相关内容请关注PHP中文网(www.iotsi.net)!