【學習筆記】JAVA之使用SAX解析XML文件

思路:SAX工廠-->SAX解析器-->SAX閱讀器-->註冊事件處理-->解析開始。


對應代碼:

public class TestSAX {

	public static void main(String[] args) throws Exception{
		SAXParserFactory factory = SAXParserFactory.newInstance();
		SAXParser parser = factory.newSAXParser();
		XMLReader reader = parser.getXMLReader();
		reader.setContentHandler(new MyContentHandler());
		reader.parse("book.xml");
	}
}

class MyContentHandler extends DefaultHandler {
	
	private String elementName = null;
	
	@Override
	public void startDocument() throws SAXException {
		System.out.println("文檔解析開始>>>>>>>>>>>>>>>>>>>>>>>>");
	}
	
	@Override
	public void startElement(String arg0, String arg1, String arg2,
			Attributes arg3) throws SAXException {
		elementName = arg2;
	}
	
	@Override
	public void characters(char[] arg0, int arg1, int arg2) throws SAXException {
		if ("書名".equals(elementName)) {
			System.out.println(new String(arg0, arg1, arg2));			
		}
	}
	
	@Override
	public void endElement(String arg0, String arg1, String arg2)
			throws SAXException {
		elementName = null;
	}
	
	@Override
	public void endDocument() throws SAXException {
		System.out.println("文檔解析結束>>>>>>>>>>>>>>>>>>>>>>>>");
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章