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

溫馨提示×

溫馨提示×

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

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

XML解析之sax讀取contact.xml文件完整輸出文檔內容的案例

發布時間:2020-10-30 11:33:14 來源:億速云 閱讀:156 作者:小新 欄目:編程語言

這篇文章主要介紹XML解析之sax讀取contact.xml文件完整輸出文檔內容的案例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

一、新建Demo2類:

import java.io.File;

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

/**
 * 讀取contact.xml文件,完整輸出文檔內容
 * @author APPle
 *
 */
public class Demo2 {

	public static void main(String[] args)throws Exception {
		//1.創建SAXParser
		SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
		//2.讀取xml文件
		MyDefaultHandler2 handler = new MyDefaultHandler2();
		parser.parse(new File("./src/contact.xml"), handler);
		String content = handler.getContent();
		System.out.println(content);
	}

}


二、建立自定義MyDefaulthander2

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
 * SAX處理器程序
 * @author APPle
 */
public class MyDefaultHandler2 extends DefaultHandler {
	//存儲xml文檔信息
	private StringBuffer sb = new StringBuffer();
	
	//獲取xml信息
	public String getContent(){
		return sb.toString();
	}
	

	/**
	 * 開始標簽
	 */
	@Override
	public void startElement(String uri, String localName, String qName,
			Attributes attributes) throws SAXException {
		sb.append("<"+qName);
		//判斷是否有屬性
		if(attributes!=null){
			for(int i=0;i<attributes.getLength();i++){//int getLength() 返回此列表中的屬性個數。 
				//得到屬性名稱   id="001"
				String attrName = attributes.getQName(i);//String getQName(int index) 通過索引查找屬性的 XML 限定(前綴)名。 
				//得到屬性值
				String attrValue = attributes.getValue(i);//String getValue(int index) 通過索引查找屬性的值。 
				sb.append(" "+attrName+"=\""+attrValue+"\"");
			}
		}
		sb.append(">");
	}
	
	/**
	 * 文本內容
	 */
	@Override
	public void characters(char[] ch, int start, int length)
			throws SAXException {
		//得到當前讀取的文本
		String content = new String(ch,start,length);
		sb.append(content);
	}
	
	/**
	 * 結束標簽
	 */
	@Override
	public void endElement(String uri, String localName, String qName)
			throws SAXException {
		sb.append("</"+qName+">");
	}
}

打印輸出結果:

<contactList>
    <contact id="001" name="eric">
        <name>張三</name>
        <age>20</age>
        <phone>134222223333</phone>
        <email>zhangsan@qq.com</email>
        <qq>432221111</qq>
    </contact>
    <contact id="002" name="jacky">
        <name>eric</name>
        <age>20</age>
        <phone>134222225555</phone>
        <email>lisi@qq.com</email>
        <qq>432222222</qq>
    </contact>
</contactList>

以上是XML解析之sax讀取contact.xml文件完整輸出文檔內容的案例的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

沾化县| 界首市| 仁寿县| 宣恩县| 黄石市| 思茅市| 普陀区| 应城市| 上蔡县| 峨眉山市| 金秀| 保德县| 司法| 伽师县| 万州区| 桂平市| 建阳市| 四平市| 昌黎县| 六盘水市| 德庆县| 张家港市| 怀远县| 沙湾县| 湖北省| 肃南| 漳州市| 突泉县| 南雄市| 石渠县| 武安市| 黎川县| 长宁县| 台山市| 庆阳市| 崇明县| 宣恩县| 县级市| 元阳县| 宜昌市| 长沙市|