pull解析xml,可实现新闻解析、Android更新等
来源:互联网 发布:1998年湖北数据 编辑:程序博客网 时间:2024/06/07 00:25
首先新建一个版本信息类 Version
package com.liwei.blog;public class Version {private String version;private String name;private String url;public String getVersion() {return version;}public void setVersion(String version) {this.version = version;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}@Overridepublic String toString() {return "Version [version=" + version + ", name=" + name + ", url=" + url + "]";}}
MainActivity.class
package com.liwei.blog;//"http://wx.xylbh.cn/android.xml"import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.xmlpull.v1.XmlPullParser;import android.os.Bundle;import android.app.Activity;import android.util.Xml;public class XMLActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);getNewsInfo();}private void getNewsInfo() {Thread t = new Thread(){@Overridepublic void run() {String path = "http://wx.xylbh.cn/android.xml";try {URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5000);conn.setReadTimeout(5000);if(conn.getResponseCode() == 200){InputStream is = conn.getInputStream();parseNewsXml(is);}} catch (Exception e) {e.printStackTrace();}}};t.start();}private void parseNewsXml(InputStream is) {XmlPullParser xp = Xml.newPullParser();try {xp.setInput(is, "utf-8");int type = xp.getEventType();Version news = null;while(type != XmlPullParser.END_DOCUMENT){switch (type) {case XmlPullParser.START_TAG:if("android".equals(xp.getName())){news = new Version();}else if("version".equals(xp.getName())){String version = xp.nextText();news.setVersion(version);}else if("name".equals(xp.getName())){String name = xp.nextText();news.setName(name);}else if("url".equals(xp.getName())){String url = xp.nextText();news.setUrl(url);}break;case XmlPullParser.END_TAG:break;}type = xp.next();}System.out.println(news.toString());} catch (Exception e) {e.printStackTrace();}}}
运行,控制台就会输出版本信息。pull适合解析包含多个条目的xml数据。比如做新闻客户端,新闻内容一般封装成xml,包含多条信息的标题,内容,图片地址等。这里是测试解析了版本信息,是因为之前做更新,用DOM无法解析,才这样做的。
0 0
- pull解析xml,可实现新闻解析、Android更新等
- Android Pull解析xml
- android pull 解析xml
- android PULL 解析XML
- Android Pull解析xml
- Android Pull 解析 XML
- Android Pull 解析 XML
- Android Pull解析xml
- Android PULL解析XML
- Android Pull解析xml
- Android PULL解析XML
- android xml-----Pull解析
- android pull解析xml
- Android Pull 解析 Xml
- Android Pull解析xml
- Android PULL解析XML
- Android XML Pull解析
- android,pull解析xml
- 如何使用才能让缓存更高效
- servlet---知识点深化---重定向/转发/字节流字符流共存问题/多个servlet输出问题/请求包含
- 几个关于内存的问题
- JS生成中文二维码
- 如何获得升迁
- pull解析xml,可实现新闻解析、Android更新等
- PCB走线宽度和电流关系
- css技巧,如何设置select、radio 、 checkbox 、file这些不可直接设置的样式 。
- Move can only be called on an active agent that has been placed a Navmesh的解决办法
- 《开讲啦》观后感(互联网)
- C#中的Dictionary简介
- 情商决定了工作方面的成就
- SAE J1587简介
- 音视频传输基本知识及总体思路