解析xml串,使用的是xstream第三方类库;

public void getdata(){

HttpUtils utils = new HttpUtils();
utils.send(HttpMethod.GET, url+conent++, new RequestCallBack<String>() {

@Override
public void onFailure(HttpException arg0, String arg1) {
// TODO Auto-generated method stub
}

@Override
public void onSuccess(ResponseInfo<String> arg0) {
// TODO Auto-generated method stub
String str = arg0.result;

XStream xStream=new XStream();

xStream.processAnnotations(SuperNews.class);
SuperNews superNews=(SuperNews) xStream.fromXML(str);
List<News> ll=superNews.getNewslist().getNews();

lis.addAll(0,ll);

mybaseadpter = new Mybaseadpter(lis, getActivity());


listView.setAdapter(mybaseadpter);






}
});


}

在vo类里面第一个类前面要加一句话;

@XStreamAlias("oschina"),括号里面是这个xml串最外层的变量名;

如下代码:

package com.bawei.vo;

import java.io.Serializable;

import com.thoughtworks.xstream.annotations.XStreamAlias;

@XStreamAlias("oschina")
public class Supper implements Serializable{
String tweetCount;
String pagesize;
Mytweets tweets;
public String getTweetCount() {
    return tweetCount;
}
public void setTweetCount(String tweetCount) {
    this.tweetCount = tweetCount;
}
public String getPagesize() {
    return pagesize;
}
public void setPagesize(String pagesize) {
    this.pagesize = pagesize;
}
public Mytweets getTweets() {
    return tweets;
}
public void setTweets(Mytweets tweets) {
    this.tweets = tweets;
}
public Supper(String tweetCount, String pagesize, Mytweets tweets) {
    super();
    this.tweetCount = tweetCount;
    this.pagesize = pagesize;
    this.tweets = tweets;
}
public Supper() {
    super();
}
@Override
public String toString() {
    return "Supper [tweetCount=" + tweetCount + ", pagesize=" + pagesize
            + ", tweets=" + tweets + "]";
}





}

如果类里面有集合的话,这个集合前面也得加一句话,

@XStreamImplicit(itemFieldName="tweet"),这个括号里面的变量名是集合里面的每个对象的名字;

如下:

package com.bawei.vo;

import java.io.Serializable;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamImplicit;

public class Mytweets implements Serializable{
@XStreamImplicit(itemFieldName="tweet")
List<Mytweet> tweet;

public List<Mytweet> getTweet() {
    return tweet;
}

public void setTweet(List<Mytweet> tweet) {
    this.tweet = tweet;
}

public Mytweets(List<Mytweet> tweet) {
    super();
    this.tweet = tweet;
}

public Mytweets() {
    super();
}

@Override
public String toString() {
    return "Mytweets [tweet=" + tweet + "]";
}

}
原文地址:https://www.cnblogs.com/zhengyanyan/p/5353825.html