亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

纳雍县| 九台市| 亚东县| 任丘市| 宁海县| 蛟河市| 永川市| 永丰县| 阿拉善左旗| 合阳县| 密山市| 平武县| 闸北区| 加查县| 武清区| 德安县| 曲靖市| 博野县| 大田县| 清远市| 洛南县| 鞍山市| 伊金霍洛旗| 常宁市| 钦州市| 淮阳县| 安徽省| 广饶县| 分宜县| 洛宁县| 贺州市| 东山县| 河曲县| 彭州市| 马龙县| 如皋市| 白水县| 华阴市| 玛多县| 凭祥市| 兴海县|