首先需要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的解析简单的方法的更多相关文章

  1. Java解析XML文档(简单实例)——dom解析xml

      一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object ...

  2. 八、Android学习第七天——XML文件解析方法(转)

    (转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...

  3. java生成解析xml的另外两种方法Xstream

    Xstream生成和解析xm和JAXB生成和解析xml的方法. 一,Xstream Xstream非jdk自带的,需要到入Xstream-1.4.3.jar和xpp3_min-1.1.4.jar 1. ...

  4. 分享一个解析XML成为php数组的方法

    原文:分享一个解析XML成为php数组的方法 <?php /* * To change this template, choose Tools | Templates * and open th ...

  5. java代码用dom4j解析xml文件的简单操作

    时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的 ...

  6. 如何:执行大型 XML 文档的流式转换 大XML文件解析入库的一个方法

    w Parsing Huge XML Files Incrementally http://pclib.github.io/safari/program/python-cookbook/Text/ch ...

  7. 通过正则表达式实现简单xml文件解析

    这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...

  8. iOS-数据持久化基础-JSON与XML数据解析

    解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...

  9. 转 web项目中的web.xml元素解析

    转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45)   阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ...

随机推荐

  1. [转]Altium Designer 发现的机密

    转载自CrazyBingo博客. 进入电子设个世界,PCB是少不了的东西,刚开始画板子的时候,感觉好神奇.那个时候用的是Altium Designer Summer 08 ,现在用的是Altium D ...

  2. 九个uname命令获取Linux系统详情的实例

    当你在控制台模式下,无法通过“鼠标右键 > 关于”获取操作系统的信息.这时,在Linux下,你可以使用uname命令,帮助你完成这些工作. Uname是unix name的缩写.在控制台中实际使 ...

  3. vim中.swp文件处理

    参考: http://blog.csdn.net/lingdxuyan/article/details/4993868 http://www.cnblogs.com/softwaretesting/a ...

  4. nsstring基本数据类型的包装类

    // //  main.m //  10-基本数据类型的包装类 // //  Created by apple on 14-3-20. //  Copyright (c) 2014年 apple. A ...

  5. iOS UITableView点击按钮滚到顶部

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  6. iOS - (简单平移动画/弹出View的使用)

    在iOS 开发中,使用平移动画的频率越来越高,给人的感觉就是很炫酷很流畅,起到增强用户体验的作用.在APP开发中实现动画效果有很多种方式,但我目前是使用较多的是平移动画,顺便也在此做一些小小的总结,大 ...

  7. The Struts dispatcher cannot be found. This is usually caused by using Strut

    The Struts dispatcher cannot be found. This is usually caused by using Struts tags without the assoc ...

  8. Java基础之写文件——使用多个视图缓冲区(PrimesToFile2)

    控制台程序.本例将对应于每个素数的数据以三个连续数据项的形式写入: 1.以二进制值表示的字符串长度值(最好是整型,但本例使用double类型): 2.素数值的字符串表示”Prime=nnn“,其中数字 ...

  9. nginx:配置详细说明

    一.fastcgi param 详情: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#脚本文件请求的路径 fast ...

  10. Java nio 笔记:系统IO、缓冲区、流IO、socket通道

    一.Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚.操作系统并非不能快速传送数据,让 Java 有事可做:相反,是 JVM 自身在 I/O 方面 ...