您好,登錄后才能下訂單哦!
這篇文章主要介紹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文件完整輸出文檔內容的案例的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。