日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android 开发工具类 13_ SaxService

發(fā)布時(shí)間:2025/4/9 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 开发工具类 13_ SaxService 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
網(wǎng)絡(luò) xml 解析方式 1 package com.example.dashu_saxxml; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.util.HashMap; 6 import java.util.List; 7 8 import javax.xml.parsers.SAXParser; 9 import javax.xml.parsers.SAXParserFactory; 10 11 import org.xml.sax.InputSource; 12 import org.xml.sax.SAXParseException; 13 14 public class SaxService { 15 public SaxService() { 16 } 17 18 /** 19 * 網(wǎng)絡(luò)xml解析方式 20 * */ 21 public static List<HashMap<String, String>> readXML( 22 InputStream inputStream, String nodeName) { 23 List<HashMap<String, String>>list=null; 24 try { 25 //創(chuàng)建一個(gè)解析xml工廠對(duì)象 26 SAXParserFactory saxParserFactory=SAXParserFactory.newInstance(); 27 SAXParser parser=saxParserFactory.newSAXParser();//解析xml 28 MyHandler myHandler=new MyHandler(nodeName); 29 parser.parse(inputStream, myHandler); 30 list=myHandler.getList(); 31 inputStream.close();//關(guān)閉io 32 } catch (Exception e) { 33 // TODO: handle exception 34 } 35 return list; 36 } 37 }

MyHandler 繼承 DefaultHandler 解析工具類

1 package com.example.dashu_saxxml; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 7 import org.xml.sax.Attributes; 8 import org.xml.sax.SAXException; 9 import org.xml.sax.helpers.DefaultHandler; 10 11 import android.R.integer; 12 13 public class MyHandler extends DefaultHandler { 14 private HashMap<String, String> map = null;// 存儲(chǔ)單個(gè)解析的完整對(duì)象 15 List<HashMap<String, String>> list = null;// 存儲(chǔ)所以的解析對(duì)象 16 private String currentTag = null;// 正在解析元素的標(biāo)簽 17 private String currentValue = null;// 正在解析元素的值 18 private String nodeName = null;// 當(dāng)前解析節(jié)點(diǎn)名稱 19 20 public MyHandler(String nodeName) { 21 super(); 22 this.nodeName = nodeName; 23 } 24 25 public List<HashMap<String, String>> getList() { 26 return list; 27 } 28 29 /** 30 * xml文件開始解析時(shí)候調(diào)用的方法 31 * */ 32 @Override 33 public void startDocument() throws SAXException { 34 // TODO Auto-generated method stub 35 list = new ArrayList<HashMap<String, String>>(); 36 super.startDocument(); 37 } 38 39 /** 40 * 解析到節(jié)點(diǎn)開頭調(diào)用方法<name> 41 * */ 42 @Override 43 public void startElement(String uri, String localName, String qName, 44 Attributes attributes) throws SAXException { 45 // TODO Auto-generated method stub 46 if (qName.equals(nodeName)) { 47 map = new HashMap<String, String>(); 48 } 49 if (attributes != null && map != null) { 50 for (int i = 0; i < attributes.getLength(); i++) { 51 map.put(attributes.getQName(i), attributes.getValue(i)); 52 } 53 } 54 currentTag = qName; 55 } 56 57 /** 58 * 解析到節(jié)點(diǎn)開頭結(jié)尾中間夾的文字所調(diào)用的方法 59 * */ 60 @Override 61 public void characters(char[] ch, int start, int length) 62 throws SAXException { 63 // TODO Auto-generated method stub 64 if (currentTag != null && map != null) { 65 currentValue = new String(ch, start, length); 66 if (currentValue != null && !currentValue.trim().equals("") 67 && !currentValue.trim().equals("\n")) { 68 map.put(currentTag, currentValue); 69 } 70 } 71 currentTag = null;// 把當(dāng)前節(jié)點(diǎn)對(duì)應(yīng)的值和標(biāo)簽設(shè)置為空 72 currentValue = null; 73 } 74 75 /** 76 * 解析到節(jié)點(diǎn)結(jié)尾調(diào)用方法</name> 77 * */ 78 @Override 79 public void endElement(String uri, String localName, String qName) 80 throws SAXException { 81 // 遇到結(jié)束標(biāo)記時(shí)候 82 if (qName.equals(nodeName)) { 83 list.add(map); 84 map = null; 85 } 86 } 87 }

dashu.xml

1 <?xml version="1.0" encoding="UTF-8"?> 2 <user-list> 3 <user id="1"> 4 <name>大樹</name> 5 <age>22</age> 6 </user> 7 8 <user id="2"> 9 <name>梅子</name> 10 <age>28</age> 11 </user> 12 13 <user id="3"> 14 <name>爸爸</name> 15 <age>48</age> 16 </user> 17 18 <user id="4"> 19 <name>媽媽</name> 20 <age>48</age> 21 </user> 22 </user-list>

?【參考文獻(xiàn)】

http://blog.csdn.net/u010794950/article/details/24553733

轉(zhuǎn)載于:https://www.cnblogs.com/renzimu/p/4535822.html

總結(jié)

以上是生活随笔為你收集整理的Android 开发工具类 13_ SaxService的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av资源免费看 | 欧美一级免费看 | 午夜在线你懂的 | 叼嘿视频在线免费观看 | 免费欧美一区 | 免费看黄色漫画 | 越南少妇做受xxx片 亚洲av综合色区无码一二三区 | 天天躁夜夜躁 | 魔女鞋交玉足榨精调教 | 欧美刺激性大交 | 日本男人的天堂 | 中文字幕在线观看日韩 | 四色成人av永久网址 | jvid在线 | 欧美成人精品三级网站 | 少妇精品高潮欲妇又嫩中文字幕 | 亚洲天堂一二三 | 久久久久久久久久久久国产精品 | 91精品在线视频观看 | 亚洲色图一区二区 | 涩涩视频在线 | 国产口爆吞精一区二区 | 久久久久久久久99 | 久久精品无码一区二区三区免费 | 日韩成人自拍 | 一眉道姑 电影 | 欧美一级色片 | 一本之道高清无码视频 | 久久av网 | 精品视频在线一区二区 | 日本αv| 久热久操 | 国产在线视频福利 | 九九精品久久 | 超碰2 | 午夜视频免费在线 | 看黄色的网址 | 色综合婷婷| 成人黄色片在线观看 | 色5月婷婷 | 日韩av成人在线观看 | 日本一区二区视频在线播放 | 亚洲国产精品成人va在线观看 | 欧美少妇诱惑 | www.国产在线视频 | 欧美一区二区在线观看视频 | 成人做受黄大片 | 天天草av | 日韩一级完整毛片 | 欧美日韩激情一区 | 国内自拍av | 国产激情四射 | 亚洲成人一二三区 | 国产美女网站视频 | 中文字幕人妻熟女在线 | 致命魔术电影高清在线观看 | 日韩电影二区 | 久久精品视频3 | 最近中文字幕mv | a级国产毛片 | 激情综合区 | 国产专区在线视频 | 天天伊人网 | 久久激情综合 | 人人揉人人| 国产精品99无码一区二区 | 国产4区 | 免费三片在线观看网站v888 | 国产一区二区三区小说 | 少妇中文字幕 | 久久久综合久久 | av导航网址| 久久精品资源 | 91在线最新 | 91丨九色 | 国产 日韩 一区 | 经典杯子蛋糕日剧在线观看免费 | 毛片导航| 精品人妻一区二区乱码 | 性色生活片 | 欧美日韩在线二区 | 亚洲九九视频 | 91在线公开视频 | 日本在线第一页 | av网站在线免费播放 | 欧美视频一区二区三区在线观看 | 在线五月天 | 日本中文字幕在线不卡 | 黄色网址视频在线观看 | 欧美亚洲色综久久精品国产 | 午夜影院入口 | 成人日批视频 | mm131美女视频| 女性向片在线观看 | 国产精品一级黄片 | 午夜av网站| 成人精品视频一区二区三区尤物 | 中文字幕精品久久久久人妻红杏ⅰ | julia一区二区三区在线观看 |