多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁(yè) > php開(kāi)源 > 綜合技術(shù) > android使用xmlpull方式解析xml示例

android使用xmlpull方式解析xml示例

來(lái)源:程序員人生   發(fā)布時(shí)間:2015-01-28 08:24:59 閱讀次數(shù):3561次

需要解析的xml內(nèi)容:

<app> <dynamic> <uploadPhoto>true</uploadPhoto> <!-- 是不是支持上傳圖片 false代表不支持,true代表支持 --> <specifyFriends>true</specifyFriends> <!-- 是不是支持@好友 false代表不支持,true代表支持 --> <sharWx>true</sharWx> <!-- 是不是支持分享到微信 false代表不支持,true代表支持 --> <emoji>true</emoji> <!-- 是不是支持表情 false代表不支持,true代表支持 --> <score>true</score> <!-- 是不是支持積分 false代表不支持,true代表支持 --> </dynamic> <doubt> <photo>true</photo> <!-- 是不是支持圖片 false代表不支持,true代表支持 --> <supplementaryQuestion>true</supplementaryQuestion> <!-- 是不是支持問(wèn)題補(bǔ)充 false代表不支持,true代表支持 --> <collect>true</collect> <!-- 是不是支持收藏 false代表不支持,true代表支持 --> </doubt> <courses> <elective>true</elective> <!-- 是不是有選修課 false代表沒(méi)有,true代表允許 --> </courses> </app>


http封裝類(lèi):

package com.tudou.activity.work3; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.util.Log; public class HttpUtil { public static InputStream getInputStream(String path) { try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInput(true); conn.setReadTimeout(3000); conn.setConnectTimeout(3000); conn.setRequestMethod("POST"); if (conn.getResponseCode() == 200) { Log.d("mylog", "getResponseCode:" + 200); return conn.getInputStream(); } } catch (IOException e) { e.printStackTrace(); } return null; } }

使用xmlpull解析xml,直接用json封裝:

package com.tudou.activity.work3; import java.io.IOException; import java.io.InputStream; import java.util.List; import org.json.JSONException; import org.json.JSONObject; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlPullParserFactory; import android.util.Log; public class XmlParser { public static String getXML(InputStream inputStream, String inputEncoding) { JSONObject obj = new JSONObject(); try { // Log.d("mylog", "XmlParser" + 200); XmlPullParser parser = XmlPullParserFactory.newInstance() .newPullParser(); parser.setInput(inputStream, inputEncoding); int eventType = parser.getEventType(); JSONObject obj2 = new JSONObject(); JSONObject obj3 = new JSONObject(); JSONObject obj4 = new JSONObject(); while (eventType != XmlPullParser.END_DOCUMENT) { // Log.d("mylog", "eventType:" + eventType); switch (eventType) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: Log.d("mylog", "name:" + parser.getName()); if ("uploadPhoto".equals(parser.getName())) { obj2.put(parser.getName(), parser.nextText()); } else if ("specifyFriends".equals(parser.getName())) { obj2.put(parser.getName(), parser.nextText()); } else if ("sharWx".equals(parser.getName())) { obj2.put(parser.getName(), parser.nextText()); } else if ("emoji".equals(parser.getName())) { obj2.put(parser.getName(), parser.nextText()); } else if ("score".equals(parser.getName())) { obj2.put(parser.getName(), parser.nextText()); } else if ("photo".equals(parser.getName())) { obj3.put(parser.getName(), parser.nextText()); } else if ("supplementaryQuestion".equals(parser.getName())) { obj3.put(parser.getName(), parser.nextText()); } else if ("collect".equals(parser.getName())) { obj3.put(parser.getName(), parser.nextText()); } else if ("elective".equals(parser.getName())) { obj4.put(parser.getName(), parser.nextText()); } break; case XmlPullParser.END_TAG: if ("app".equals(parser.getName())) { obj.put("dynamic", obj2); obj.put("doubt", obj3); obj.put("courses", obj4); } break; default: break; } eventType = parser.next(); } } catch (XmlPullParserException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (JSONException e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return obj.toString(); } }

activity,此處練手不斟酌效力,直接放在主線程中了:

package com.tudou.activity.work3; import com.tudou.activity.R; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class HomeWork3 extends Activity { String path = "http://software.webtrn.cn/cms/res_base/software_webtrn_cn/privacy/config/tyxl/appConfiguration.xml"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.homework3); } @Override protected void onStart() { super.onStart(); String result = XmlParser.getXML(HttpUtil.getInputStream(path), "utf⑻"); Log.d("mylog", "result:" + result); } }

順便貼1個(gè)練手的界面。

<?xml version="1.0" encoding="utf⑻"?> <LinearLayout xmlns:ad="http://schemas.android.com/apk/res/android" ad:layout_width="match_parent" ad:layout_height="match_parent" ad:orientation="vertical" > <LinearLayout ad:layout_width="match_parent" ad:layout_height="30dp" ad:background="@drawable/titlebar_bg" ad:orientation="horizontal" > <ImageView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:src="@drawable/back_44_44" /> <LinearLayout ad:layout_width="match_parent" ad:layout_height="30dp" ad:gravity="center" > <TextView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:text="本地課程" ad:textSize="20sp" /> </LinearLayout> </LinearLayout> <LinearLayout ad:layout_width="match_parent" ad:layout_height="wrap_content" ad:gravity="center_vertical" ad:orientation="horizontal" > <ImageView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:src="@drawable/image_default_195_130" /> <LinearLayout ad:layout_width="match_parent" ad:layout_height="wrap_content" ad:orientation="vertical" > <TextView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:text="公共組織的變革與發(fā)展" ad:textSize="18sp" /> <LinearLayout ad:layout_width="match_parent" ad:layout_height="wrap_content" ad:orientation="horizontal" > <TextView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:text="學(xué)習(xí)進(jìn)度:" ad:textColor="#b6b6b6" ad:textSize="12sp" /> <ProgressBar style="?android:attr/progressBarStyleHorizontal" ad:layout_width="100dp" ad:layout_height="wrap_content" ad:secondaryProgress="50" ad:max="100" ad:progress="10" /> <TextView ad:layout_width="wrap_content" ad:layout_height="wrap_content" ad:text="10%" ad:textColor="#b6b6b6" ad:textSize="12sp" /> </LinearLayout> </LinearLayout> </LinearLayout> <LinearLayout ad:layout_width="match_parent" ad:layout_height="wrap_content" ad:layout_marginTop="10dp" ad:gravity="center" ad:orientation="horizontal" > <Button ad:layout_width="80dp" ad:layout_height="30dp" ad:background="@drawable/coursedetail_startstudy_600_68" ad:text="離線緩存" /> <Button ad:layout_width="80dp" ad:layout_height="30dp" ad:background="@drawable/coursedetail_startstudy_600_68" ad:layout_marginLeft="20dp" ad:text="開(kāi)始學(xué)習(xí)" /> </LinearLayout> <TextView ad:layout_width="match_parent" ad:layout_height="1dp" ad:background="#b6b6b6" ad:layout_marginTop="10dp"/> </LinearLayout>


生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 欧美日韩成人在线视频 | 在线偷拍自拍 | 亚洲欧美人成人综合在线50p | 色妞影视 | 亚洲天堂视频在线观看免费 | 亚洲一二四区性毛片1在线 亚洲一个色 | 欧美一级手机免费观看片 | h视频免费在线观看 | 精品国产91久久久久久久 | 尤物视频网站在线观看 | 国产久视频观看 | 日本www黄| 男女羞羞视频网站 | 久久精品亚洲欧美va | aⅴ一区二区三区无卡无码 aⅴ在线免费观看 | 免费午夜不卡毛片 | 日本护士xxxx | 日本一区二区三区在线观看视频 | 天堂69亚洲精品中文字幕 | 免费看h的网站 | 亚洲精品国产精品国自产 | 最近中文字幕免费完整国语 | 在线免费观看h | 亚洲第1页 | 欧美精品一区二区久久 | 全国精品影院 | 性欧美性另类双性人互交 | 中文字幕在线视频一区 | 国产日韩欧美一区二区三区在线 | www亚洲视频| 亚洲综合激情另类专区 | 高清在线亚洲精品国产二区 | 永久免费视频v片www | 亚洲欧洲毛片 | 久久精品国产亚洲a不卡 | 国产亚洲小视频 | 欧美日本道免费一区二区三区 | 欧美日韩在线永久免费播放 | 精品成人一区二区三区免费视频 | 中文字幕一区二区在线观看 | 成a人v|