XMl的解析简单的方法
首先需要jia包
xstream-1.4.7.jar
Vo类 package com.zld.day06_03zk3demo.bean; import java.io.Serializable;
import java.util.List; import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit; /*@XStreamAlias("DATA")*/
@XStreamAlias("DATA")
最外面的那层
public class XmlBean implements Serializable{
/*@XStreamImplicit(itemFieldName="item")*/
@XStreamImplicit(itemFieldName="item")
public List<Item>item;
public class Item implements Serializable{
public String title;
public String link;
public String imgs;
public String description;
public String copyright;
public String pubDate;
public String comments;
}
}
Mainactivity package com.zld.day06_03zk3demo; import java.io.IOException;
import java.util.ArrayList;
import java.util.List; import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils; import com.thoughtworks.xstream.XStream;
import com.zld.day06_03zk3demo.adapter.MyAdapter;
import com.zld.day06_03zk3demo.bean.XmlBean;
import com.zld.day06_03zk3demo.bean.XmlBean.Item; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView lv;
private Handler handler;
private List<Item>list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list=new ArrayList<XmlBean.Item>();
handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
list=(List<Item>) msg.obj;
MyAdapter adapter=new MyAdapter(list, MainActivity.this);
lv.setAdapter(adapter);
}
};
init();
} private void init() {
lv = (ListView) findViewById(R.id.main_lv);
requestData();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent it=new Intent(MainActivity.this,DetailsActivity.class);
it.putExtra("item", list.get(position));
startActivity(it);
}
});
} private void requestData() {
new Thread(){
public void run() {
HttpClient client=new DefaultHttpClient();
HttpGet get=new HttpGet("http://www.sciencenet.cn/xml/iphoneInterface.aspx?type=news&nums=20&pass=");
try {
HttpResponse response = client.execute(get);
if(response.getStatusLine().getStatusCode()==200){
String xml = EntityUtils.toString(response.getEntity(), "utf-8");
XStream xs=new XStream();
xs.processAnnotations(XmlBean.class);
XmlBean xmlBean = (XmlBean) xs.fromXML(xml);
Message msg=Message.obtain();
msg.what=1;
msg.obj=xmlBean.item;
handler.sendMessage(msg);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
};
}.start();
} }
XMl的解析简单的方法的更多相关文章
- Java解析XML文档(简单实例)——dom解析xml
一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object ...
- 八、Android学习第七天——XML文件解析方法(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...
- java生成解析xml的另外两种方法Xstream
Xstream生成和解析xm和JAXB生成和解析xml的方法. 一,Xstream Xstream非jdk自带的,需要到入Xstream-1.4.3.jar和xpp3_min-1.1.4.jar 1. ...
- 分享一个解析XML成为php数组的方法
原文:分享一个解析XML成为php数组的方法 <?php /* * To change this template, choose Tools | Templates * and open th ...
- java代码用dom4j解析xml文件的简单操作
时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...
- 如何:执行大型 XML 文档的流式转换 大XML文件解析入库的一个方法
w Parsing Huge XML Files Incrementally http://pclib.github.io/safari/program/python-cookbook/Text/ch ...
- 通过正则表达式实现简单xml文件解析
这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...
- iOS-数据持久化基础-JSON与XML数据解析
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...
- 转 web项目中的web.xml元素解析
转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...
随机推荐
- Progress Reporting
Progress reporting is a key activity of project management. The project manager issues regular repor ...
- sp_rename
sp_rename 在当前数据库中更改用户创建对象的名称. 此对象可以是表.索引.列.别名数据类型或 Microsoft .NET Framework 公共语言运行时 (CLR) 用户定义类型. 更改 ...
- 开发报表时将已有User做成下拉列表,第一项为label为ALL,value为null
SELECT 'All' AS LABLE_NAME, NULL AS USER_NAMEUNION ALLSELECT USER_NAME AS LABLE_NAME, USER_NAME from ...
- LeetCode Shortest Palindrome
原题链接在这里:https://leetcode.com/problems/shortest-palindrome/ 题目: Given a string S, you are allowed to ...
- 源码搭建SVN+Apache+Setpass
1.安装配置apache2.2.18 http://download.csdn.net/download/YH555/3299526tar xf httpd-2.2.18.tar.bz2cd http ...
- 关于C、OC、C++、OC++、Swift的一些常识
关于C.OC.C++.OC++.Swift的一些常识 OC是C语言的一个超集,是一门面向对象的语言,因为苹果的崛起而火,API主要是cocoa(OSX)和cocoatouch(iOS),GCC 和 C ...
- Java文件操作①——XML文件的读取
一.邂逅XML 文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输.所以XML在现今应用程序中是非常流行的.本文主要讲Java解析和生成XML.用于不同平台.不同设备间的数据 ...
- 教你安装CentOS 6.5如何选择安装包
近来发现越来越多的运维小伙伴们都有最小化安装CentOS 6.5系统的洁癖,因此,找老男孩来咨询,这个“洁癖”好习惯啊,必须支持,,因此发布本文和大家分享下. (1)系统安装类型选择及自定义额外包组 ...
- iOS - (base64对字符串加解密)
今天公司让做支付系统,为了安全起见,需要对一些数据进行加密,然而我首想到的就是 base64 ,严格来说这不是一种加密方式,这只是将原有的一些字符串或者其它的一些文本进行一个转化而已,就是转化成数字, ...
- iPhone尺寸规范
转载于:http://www.uigreat.com/page/guifan