使用jaxp的sax方式操作xml

 使用jaxp的sax方式操作xml

sax方式不能實現增刪改查  只能做查詢操作

實例

 打印出整個文檔

代碼:

package cn.test.jaxptes;


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 TestSax {

	public static void main(String[] args) throws Exception {
		/*
		 * 1 創建解析器工廠
		 * 2創建解析器
		 * 3執行parse方法
		 * 4自己創建一個類 繼承DefaultHandler
		 * 5重寫類裏面的三個方法
		 */
		
		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
		SAXParser saxParser = saxParserFactory.newSAXParser();
        saxParser.parse("src/person.xml", new MyDefault1());
	}

}

class  MyDefault1  extends DefaultHandler{

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
	
		System.out.print("<"+qName+">");
	}

	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {

		System.out.print("</"+qName+">");
	}

	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
	
		System.out.print(new String(ch,start,length));
	}
	
}package cn.test.jaxptes;


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 TestSax {

	public static void main(String[] args) throws Exception {
		/*
		 * 1 創建解析器工廠
		 * 2創建解析器
		 * 3執行parse方法
		 * 4自己創建一個類 繼承DefaultHandler
		 * 5重寫類裏面的三個方法
		 */
		
		SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
		SAXParser saxParser = saxParserFactory.newSAXParser();
        saxParser.parse("src/person.xml", new MyDefault1());
	}

}

class  MyDefault1  extends DefaultHandler{

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
	
		System.out.print("<"+qName+">");
	}

	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {

		System.out.print("</"+qName+">");
	}

	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
	
		System.out.print(new String(ch,start,length));
	}
	
}

運行結果

 

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