中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XML中SAX解析過程的示例分析

發布時間:2021-09-17 15:15:05 來源:億速云 閱讀:92 作者:小新 欄目:編程語言

這篇文章主要介紹了XML中SAX解析過程的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

新建Demo1類:

import java.io.File;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

/**
 * 第一個SAX讀取xml文件程序
 * @author APPle
 *
 */
public class Demo1 {

	
	public static void main(String[] args) throws Exception{
		//1.創建SAXParser對象
		//
		SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
		
		//2.調用parse方法
		/**
		 * 參數一: xml文檔
		 * 參數二: DefaultHandler的子類,默認基類,因此沒法new。用子類
		 */
		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;
/**
 * SAX處理程序(如何解析xml文檔)
 * @author APPle
 *
 */
public class MyDefaultHandler extends DefaultHandler {
	
	/**
	 * 開始文檔時調用
	 */
	@Override
	public void startDocument() throws SAXException {
		System.out.println("MyDefaultHandler.startDocument()");
	}
	
	/**
	 * 開始標簽時調用
	 * @param qName: 表示開始標簽的標簽名
	 * @param attributes: 表示開始標簽內包含的(屬性)【列表】
	 */
	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
		System.out.println("MyDefaultHandler.startElement()-->"+qName);
	}
	
	/**
	 * 結束標簽時調用
	 * @param qName: 結束標簽的標簽名稱
	 */
	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {
		System.out.println("MyDefaultHandler.endElement()-->"+qName);
	}
	
	/**
	 * 讀到文本內容的時調用
	 * @param ch: 表示當前讀完的所有文本內容
	 * @param start: 表示當前文本內容的開始位置
	 * @param length: 表示當前文本內容的長度 
	 */ 
	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
		//得到當前文本內容
		String content = new String(ch,start,length);
		System.out.println("MyDefaultHandler.characters()-->"+content);
	}
	
	/**
	 * 結束文檔時調用
	 */
	@Override
	public void endDocument() throws SAXException {
		System.out.println("MyDefaultHandler.endDocument()");
	}
	
}

打印輸出,更直觀認識sax解析過程。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“XML中SAX解析過程的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

莱阳市| 翁源县| 晴隆县| 丰城市| 南江县| 迭部县| 石棉县| 栾川县| 固阳县| 岳池县| 于田县| 项城市| 南木林县| 涡阳县| 荔波县| 木兰县| 潼南县| 高台县| 新沂市| 兖州市| 扶风县| 类乌齐县| 朝阳区| 寿宁县| 和林格尔县| 澄江县| 石棉县| 高要市| 锡林郭勒盟| 彭泽县| 通渭县| 微山县| 平顺县| 洛南县| 庆云县| 汉沽区| 罗田县| 西城区| 中牟县| 什邡市| 金阳县|