日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

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

android使用xmlpull方式解析xml示例

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

需要解析的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> <!-- 是不是支持問題補(bǔ)充 false代表不支持,true代表支持 --> <collect>true</collect> <!-- 是不是支持收藏 false代表不支持,true代表支持 --> </doubt> <courses> <elective>true</elective> <!-- 是不是有選修課 false代表沒有,true代表允許 --> </courses> </app>


http封裝類:

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="開始學(xué)習(xí)" /> </LinearLayout> <TextView ad:layout_width="match_parent" ad:layout_height="1dp" ad:background="#b6b6b6" ad:layout_marginTop="10dp"/> </LinearLayout>


生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 波多野av在线 | 伊人2| 国产精品一区二区久久久 | 五月婷综合 | 国产美女一区二区 | 欧美aaaaaaaaaa| 成人精品一区二区三区校园激情 | 最新日韩精品 | 欧美日韩免费视频 | 精品美女在线观看 | 国产成人精品一区二区三区在线 | 久久国产精品99精国产 | 99精品国产热久久91蜜凸 | 亚洲黄视频| 精品电影一区二区三区 | 91精品国产乱码久久久久久久久 | 亚洲综合精品 | 成人欧美一区 | 在线中文视频 | 日韩精品免费一区二区在线观看 | 一区在线观看 | 国产在线视频不卡 | 免费a级毛片在线播放 | 日韩黄色视屏 | 国产精品永久 | 国产精品乱码一区二区三区 | 日韩在线视频一区二区三区 | 男人操女人视频网站 | 91成人免费视频 | www.91av.con| 一区在线视频 | 亚洲图片久久 | 在线精品福利 | 成人综合av | 久热99| 日韩精品在线免费 | 蜜桃久久久久久久 | 欧美成人精品一区二区三区 | 99精品一区二区 | 久久嫩草精品久久久精品 | 精品国产日韩欧美 |