pull方法解析xml
private void getData() {
new Thread() {
public void run() {
try {
URL url = new URL(pathUrl);
HttpURLConnection httpURLConnection = (HttpURLConnection) url
.openConnection();
httpURLConnection.setReadTimeout(5000);
httpURLConnection.setConnectTimeout(5000);
httpURLConnection.setRequestMethod("GET");
httpURLConnection.connect();
int code = httpURLConnection.getResponseCode();
if (code == 200) {
InputStream inputStream = httpURLConnection
.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new
InputStreamReader(inputStream,"utf-8"));
String line;
StringBuffer stringBuffer=new StringBuffer();
while((line=bufferedReader.readLine())!=null){
stringBuffer.append(line);
}
String ss=stringBuffer.toString();
Message message=new Message();
message.obj=ss;
handler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
};
}.start();
}
private void readXml(String ss) {
// TODO Auto-generated method stub
List<Bean> list=null;
Bean bean =null;
try {
xmlPullParserFactory = XmlPullParserFactory.newInstance();
XmlPullParser pullParser = xmlPullParserFactory.newPullParser();
ByteArrayInputStream inputStream = new ByteArrayInputStream(ss.getBytes());
pullParser.setInput(inputStream, "utf-8");
int type = pullParser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
String name = pullParser.getName();
switch (type) {
case XmlPullParser.START_DOCUMENT:
list=new ArrayList<Bean>();
break;
case XmlPullParser.START_TAG:
if("blog".equals(name)){
bean=new Bean();
Log.i("-------", "bean");
}else
if("id".equals(name)){
String str = pullParser.nextText();
bean.setId(str);
}else if("title".equals(name)){
String na = pullParser.nextText();
bean.setTitle(na);
}
break;
case XmlPullParser.END_TAG:
if("blog".equals(name)){
list.add(bean);
//bean=null;
}
break;
}
type=pullParser.next();
}
for (Bean bean2 : list) {
text.append(bean2.getId()+bean2.getTitle());
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
pull方法解析xml的更多相关文章
- Dom,pull,Sax解析XML
本篇随笔将详细讲解如何在Android当中解析服务器端传过来的XML数据,这里将会介绍解析xml数据格式的三种方式,分别是DOM.SAX以及PULL. 一.DOM解析XML 我们首先来看看DOM(Do ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- Android 使用pull,sax解析xml
pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory. ...
- 【Android】使用Pull生成/解析XML文件
一.生成XML文件,即是将对象集合转为XML文件存储. 对象集合 –> XML(序列化) Android中使用android.util.Xml类对其进行了描述,提供相应的API. 步骤大致如下: ...
- Python-elementTree方法解析xml文件-01
[XML基本概念介绍] XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据.概念一: <foo> # foo元素的起始标签 ...
- 对DOM,SAX,JDOM,DOM4J四种方法解析XML文件的分析
1.DOM 与平台无关的官方解析方式 DOM是一次性把xml文件加载到内存中,形成一个节点树 对内存有要求 2.SAX java提供的基于事件驱动的解析方式 每次遇到一个标签,会触发相应的事件方法 3 ...
- 使用pull方式解析xml文件示例:
网上的示例太多,基本类似,个人在此做个简单的总结: 1.首先在工程的asserts目录下建一个book.xml文件: <?xml version="1.0" encoding ...
- 使用PULL方式解析XML资源文件下面的xml文件
public class MainActivity extends Activity { private Button btn = null; private List<Map<Strin ...
- Pull方式解析XML文件
package com.pingyijinren.test; import android.content.Intent; import android.os.Handler; import andr ...
随机推荐
- LTE Module User Documentation(翻译7)——无线环境地图(REM)、AMC 模型 和 CQI 计算
LTE用户文档 (如有不当的地方,欢迎指正!) 12 Radio Environment Maps 通过使用类 RadioEnvironmentMapHelper 是可能输出文件 Radio E ...
- 02-编写第一个C语言程序
本文目录 1.打开Xcode,新建Xcode项目 2.选择最简单的命令行项目 3.输入项目信息 4.选择一个用来存放C程序代码的文件夹 5.运行项目 说明:这个C语言专题,是学习iOS开发的前奏.也为 ...
- 程序设计入门——C语言 第4周编程练习 1 素数和(5分)
题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的 ...
- Pycharm使用问题# 行号设置
设置行号就很简单了,在Settings中找到Editor-Appearance,选中Show line numbers即可.
- 【转载,整理】域名CNAME解析配置,使用域名B作为域名A的CNAME记录值
最近有个需求,未备案的域名A,想解析到香港 或 国内的服务器上,但是由于未备案,直接使用cdn解析在国内访问会很慢 但是不想直接直接到ip,所以找到两个方法可以解决: 方案一:转移到其他服务器做301 ...
- 无法获取有关Windows NT 组\用户‘组\用户’的信息,错误代码0x5(Microsoft SQL Server,错误:15404)
配置了复制,在删除某个发布的时候,突然报此错误,无法删除此发布: 使用语句修改: ALTER AUTHORIZATION ON DATABASE:: [数据库名] TO [sa] 即修改数据库的 ...
- CentOS 6.x 一键安装PPTP VPN脚本
环境 CentOS 6.x 32位/64位XEN/KVM/OpenVZ 步骤 依次运行下列命令 #wget http://www.hi-vps.com/shell/vpn_centos6.sh #ch ...
- C/C++ 如何来自动优雅的涮别银家的贴子
被涮屏涮烦了,就分享一下如何用低调的c/c++来涮别人家的屏吧! 此处埋下三颗雷! 这不是啥新知识,也不是什么浅显的代码.下面,来淘淘这份经验,呼呼 我们要了解Web browser 这个控件,因为到 ...
- 学习PYTHON之路, DAY 2 - PYTHON 基础 2(基础数据类型)
一 字符串格式化输出 name = 'nikita' age = 18 print ("I'am %s, age is %d") % (name, age) PS: 字符串是 %s ...
- 基于双向链表的增删改查和排序(C++实现)
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱.所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点.一般我们都构造双向循环链表 ...