使用jar包XStream解析xml数据

使用XStream解析xml数据,需要在项目工程libs中导入jar包

-------------------------封装JavaBean-----------------------------------

-------------Oschina---------------

@XStreamAlias("oschina")
public class Oschina {
    public int catalog;
    public int newsCount;
    public int pagesize;

    public NewsList newslist;

}

-------------NewsList---------------

public class NewsList {
    @XStreamImplicit(itemFieldName = "news")
    public List<News> news;

}


-------------News---------------

public class News {
    public String id;
    public String title;
    public String commentCount;
    public String author;
    public String authorid;
    public String pubDate;
    public String body;
    public String url;
    public NewsType newstype;

    public News(String title, String commentCount, String author,
            String pubDate, String body) {
        super();
        this.title = title;
        this.commentCount = commentCount;
        this.author = author;
        this.pubDate = pubDate;
        this.body = body;
    }

    public News() {
        super();
    }

}

-------------NewsType---------------

public class NewsType {
    public String type;
    public String authoruid2;
    public String eventurl;
    public String attachment;
}

------------------------------------------开始解析xml--------------------------------------------

private void Anaylize(String url2) {
        HttpUtils httpUtils = new HttpUtils();
        RequestParams params = new RequestParams();
        params.addBodyParameter("catalog", 1 + "");
        params.addBodyParameter("pageIndex", index + "");
        params.addBodyParameter("pageSize", 6 + "");
        // com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException:
        // No such field com.example.bean.News.url

        httpUtils.send(HttpMethod.GET, url2, params,
                new RequestCallBack<String>() {

                    private WeaAdapter adapter;

                    @Override
                    public void onFailure(HttpException arg0, String arg1) {

                    }

                    @Override
                    public void onSuccess(ResponseInfo<String> arg0) {
                        String result = arg0.result;
                        Log.i("TAG", result);
                        XStream stream = new XStream(new DomDriver());
                        stream.processAnnotations(Oschina.class);
                        Oschina xml = (Oschina) stream.fromXML(result);
                        List<News> news = xml.newslist.news;
                        Log.i("ggggg", xml.newslist.news.get(0).title);
                        for (int i = 0; i < news.size(); i++) {
                            String author = news.get(i).author;
                            String body = news.get(i).body;
                            String commentCount = news.get(i).commentCount;
                            String pubDate = news.get(i).pubDate;
                            String title = news.get(i).title;
                            
                            list.add(new News(title, commentCount, author,
                                    pubDate, body));
                        }
                        adapter = new WeaAdapter(getActivity(), list);
                        listview.setAdapter(adapter);
                    }
                });
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值