真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

XML解析中如何使用sax解析把xml文檔封裝成對象

小編給大家分享一下XML解析中如何使用sax解析把xml文檔封裝成對象,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)建站專注于瑯琊企業(yè)網(wǎng)站建設(shè),響應式網(wǎng)站建設(shè),商城系統(tǒng)網(wǎng)站開發(fā)?,樼鹁W(wǎng)站建設(shè)公司,為瑯琊等地區(qū)提供建站服務。全流程按需定制制作,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務

Demo1類:

import java.io.File;
import java.util.List;

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

/**
 * 使用sax解析把 xml文檔封裝成對象
 * @author APPle
 *
 */
public class Demo3 {

	public static void main(String[] args)throws Exception {
		SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
		MyDefaultHandler3 handler = new MyDefaultHandler3();
		parser.parse(new File("./src/contact.xml"), handler);
		List list = handler.getList();
		for (Contact contact : list) {
			System.out.println(contact);
		}
	}
}

MyDefaultHandler3類:

import java.util.ArrayList;
import java.util.List;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
 * SAX處理程序
 * @author APPle
 *
 */
public class MyDefaultHandler3 extends DefaultHandler {
	//存儲所有聯(lián)系人對象
	private List list = new ArrayList();
	
	public List getList(){
		return list;
	}
	//保存一個聯(lián)系人信息
	private Contact contact;
	/**
	 * 思路: 
	 * 	1)創(chuàng)建Contact對象
	 *  2)把每個contact標簽內(nèi)容存入到Contact對象
	 *  3)把Contact對象放入List中
	 */
	//用于臨時存儲當前讀到的標簽名
	private String curTag;//用于方法跨度使用變量。

	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
		curTag = qName;
		//讀取到contact的開始標簽創(chuàng)建Contact對象,這里說明了什么時候創(chuàng)建Content對象最合適。
		if("contact".equals(qName)){
			contact = new Contact();
			
			//設(shè)置id值
			contact.setId(attributes.getValue("id"));//根據(jù)指定名字獲取id值
		}
	}
	
	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
		//當前文本內(nèi)容
		String content = new String(ch,start,length);//String類構(gòu)造方法獲取到當前文本的額內(nèi)容。
		
		if("name".equals(curTag)){
			contact.setName(content);
		}
		
		if("age".equals(curTag)){
			contact.setAge(content);
		}
		
		if("phone".equals(curTag)){
			contact.setPhone(content);
		}
		
		if("email".equals(curTag)){
			contact.setEmail(content);
		}
		
		if("qq".equals(curTag)){
			contact.setQq(content);
		}
	}
	
	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {
		//結(jié)束標簽后就設(shè)置null。這里設(shè)置為null很重要。設(shè)置空是為了避免空格換行設(shè)置到對象的屬性中,空格換行進去了就把原來放進去的數(shù)據(jù)覆蓋掉。
		curTag = null;
		//讀到Contact的結(jié)束標簽把content對象放入List中
		if("contact".equals(qName)){
			list.add(contact);
		}
	}
}

以上是“XML解析中如何使用sax解析把xml文檔封裝成對象”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)頁標題:XML解析中如何使用sax解析把xml文檔封裝成對象
網(wǎng)站網(wǎng)址:http://weahome.cn/article/jsecsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部