国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

xml解析之SAX解析基本用法

2019-11-08 03:07:04
字體:
來源:轉載
供稿:網友

一個xml文檔除了我們人去讀寫之外,我們還希望通過程序去操作xml文檔,利用程序去增刪改查xml文檔的過程就稱作xml編程,對xml文檔解析主要有三種解析方式:SAX解析,dom解析以及pull解析。

雖然SAX解析不是官方標準,但它是xml社區(qū)事實上的標準,幾乎所有的xml解析器都支持他。
我們首先來介紹SAX解析xml文檔。我們有一個xml文檔。
<books>   <book>      <title>java從入門到放棄</title>      <PRice>10元</price>      <author>張三</author>  </book>  <book>      <title>C語言從入門到放棄</title>      <price>12元</price>      <author>李四</author></book></books>

一個SAX解析過程當中有兩個組件,一個是讀取器(解析器)還有一個是事件處理器。解析器部分我們就不用操心了,jdk中已經幫我們做好了。我們要做的就是編寫事件處理器的代碼。SAX解析的過程為:在解析xml文檔時,解析器會去逐行的掃描xml文檔,當掃描到解析器當中的任意一個內容時,都會觸發(fā)事件處理器當中的相應的方法。我們可以用下面這張圖片表示SAX解析的處理過程

了解了SAX解析的過程,我們下面用java語言實現(xiàn)這個過程:

例如:我們要打印出這個xml文檔中的所有的書的名字:

package com.hhuc.Sax;import java.io.IOException;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.XMLReader;import org.xml.sax.helpers.DefaultHandler;public class Demo {	public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException {		SAXParserFactory spf=SAXParserFactory.newInstance();//使用SAXParserFactory創(chuàng)建SAX解析工廠		SAXParser sp=spf.newSAXParser();					//通過SAX解析工廠得到解析器對象		XMLReader xmlreader=sp.getXMLReader();				//通過解析器對象的到一個xml的讀取器		xmlreader.setContentHandler(new DefaultHandler(){			private String elename=null;			@Override			public void startElement(String uri, String localName,					String qName, Attributes attributes) throws SAXException {					elename=qName;			}			@Override			public void endElement(String uri, String localName, String qName)					throws SAXException {				elename=null;			}			@Override			public void characters(char[] ch, int start, int length)					throws SAXException {				if("title".equals(elename))				System.out.println(new String(ch,start,length));			}					});		xmlreader.parse("book.xml");			//解析xml文檔	}}


上一篇:輸出模擬

下一篇:DA輸出模擬

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 集贤县| 赫章县| 肥西县| 和硕县| 大渡口区| 东丰县| 湘阴县| 永嘉县| 南昌县| 拉萨市| 正镶白旗| 林口县| 台江县| 日喀则市| 同德县| 探索| 襄垣县| 德安县| 九龙县| 武汉市| 红河县| 曲阜市| 湘潭县| 商河县| 朝阳区| 湟源县| 萝北县| 太湖县| 云阳县| 临洮县| 浑源县| 英吉沙县| 红原县| 手机| 平果县| 吉安县| 环江| 丰顺县| 铁力市| 连城县| 鲁甸县|