下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 pull解析xml文件,和sax和dom一樣 都可以脫離android單獨使用,pull和sax的原理一樣,不一樣的地方是pull讀取xml文件后調用方法返回的是數(shù)字, 讀取到xml的聲明返回數(shù)字0 START_DOCUMENT; 讀取到xml的結束返回數(shù)字1 END_DOCUMENT ; 讀取到xml的開始標簽返回數(shù)字2 START_TAG 讀取到xml的結束標簽返回數(shù)字3 END_TAG 讀取到xml的文本返回數(shù)字4 TEXT pull是開源的項目 源碼下載地址 被解析的xml文檔和android dom 解析xml方式 中的xml文檔一樣,命名為pullTest.xml.html vi
2、ew plaincopy1 private String pullParseXml(InputStream inputStream) 2 String result = ; 3 /解析全部的xml 4 boolean isParse = true; 5 try 6 / 創(chuàng)建一個xmlPullParser的工廠 7 XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 8 / 獲取一個解析實例 9 XmlPullParser parse = factory.newPullParser(); 10 / 設置輸入流的編碼
3、格式 11 parse.setInput(inputStream, UTF-8); 12 / 當前事件的類型 13 int eventType = parse.getEventType(); 14 while (XmlPullParser.END_DOCUMENT != eventType) 15 / 當前節(jié)點的名稱 16 String nodeName = parse.getName(); 17 switch (eventType) 18 case XmlPullParser.START_TAG: 19 if (group.equals(nodeName) 20 / 解析節(jié)點中的屬性值,ge
4、tAttributeCount()獲取屬性的個數(shù) 21 for (int i = 0; i parse.getAttributeCount(); i+) 22 / 屬性名稱 23 String groupName = parse.getAttributeName(i); 24 / 屬性名稱對應的值 25 String nameValue = parse.getAttributeValue(i); 26 result = result + groupName + = + nameValue; 27 28 result += n; 29 else if (person.equals(nodeNam
5、e) 30 String personName = parse.getAttributeValue(0); 31 String age = parse.getAttributeValue(1); 32 result = result + personName = + personName 33 + age = + age + n; 34 else if (chinese.equals(nodeName) 35 /節(jié)點對應的文本 36 String chinese = parse.nextText(); 37 Pattern p = Ppile(s*|t|r|n); 38 M
6、atcher m = p.matcher(chinese); 39 chinese = m.replaceAll(); 40 41 result = result + chinese = + chinese; 42 else if (english.equals(nodeName) 43 String english = parse.nextText(); 44 45 Pattern p = Ppile(s*|t|r|n); 46 Matcher m = p.matcher(english); 47 english = m.replaceAll(); 48 49 resul
7、t = result + english = + english + n; 50 51 break; 52 case XmlPullParser.END_TAG: 53 /在解析到一個group節(jié)點完成時,退出解析xml文件 54 / if(group.equals(nodeName) 55 / eventType = XmlPullParser.END_DOCUMENT; 56 / isParse = false; 57 / 58 break; 59 default: 60 break; 61 62 /整個xml文件全部解析 63 if(isParse) 64 eventType = par
8、se.next(); 65 66 67 catch (XmlPullParserException e) 68 / TODO Auto-generated catch block 69 e.printStackTrace(); 70 catch (IOException e) 71 / TODO Auto-generated catch block 72 e.printStackTrace(); 73 74 75 return result; 76 pull和sax不同最主要的體現(xiàn)在pull可以由客戶隨時終止解析xml.sax解析,只能從文檔頭一直讀到尾,中間不能停止也不能對文件進行修改。直到解析完了整個文檔才會返回。html view plaincopy77 /在解析到一個group節(jié)點完成時,退出解析xml文件 78 / if(group.equals(nodeName) 79 / eventType = XmlPullParser.END_DOCUMENT; 80 / is
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課件防泄密教學課件
- 2026年寧德職業(yè)技術學院高職單招職業(yè)適應性考試備考題庫有答案解析
- 家政聯(lián)誼活動策劃方案(3篇)
- 2026年山西體育職業(yè)學院單招綜合素質筆試參考題庫帶答案解析
- 2026年山西管理職業(yè)學院單招綜合素質筆試參考題庫帶答案解析
- 三年(2023-2025)內蒙古中考語文真題分類匯編:專題05 文學文本閱讀(原卷版)
- 2026陜西西安長安大學工程設計研究院有限公司招聘參考題庫附答案
- 2026重慶派往某國有物業(yè)公司巴南工程維修崗位招聘1人備考題庫完美版
- 2026重慶奉節(jié)縣石崗鄉(xiāng)委員會公開選聘村(社區(qū))后備干部25人備考題庫附答案
- 上海煙草集團有限責任公司2026年應屆生招聘參考題庫及答案1套
- 2025年廣東省茂名農墾集團公司招聘筆試題庫附帶答案詳解
- 南京市雨花臺區(qū)醫(yī)療保險管理中心等單位2025年公開招聘編外工作人員備考題庫有完整答案詳解
- 礦業(yè)企業(yè)精益管理實施方案與案例
- 2026年共青團中央所屬事業(yè)單位社會人員公開招聘18人備考題庫及答案詳解(新)
- 2026年寧夏賀蘭工業(yè)園區(qū)管委會工作人員社會化公開招聘備考題庫帶答案詳解
- NB-T32036-2017光伏發(fā)電工程達標投產驗收規(guī)程
- 感應加熱器安全操作規(guī)程
- 商業(yè)地產行業(yè)商業(yè)地產投資機會
- 兩輪車控制器行業(yè)報告
- JSA臨時用電作業(yè)安全分析表
- 2015-2022年北京衛(wèi)生職業(yè)學院高職單招語文/數(shù)學/英語筆試參考題庫含答案解析
評論
0/150
提交評論