关闭

xStream解析xml文件

标签: xmlAndroid
142人阅读 评论(0) 收藏 举报
分类:

http://apis.juhe.cn/goodbook/catalogkey=%207a720bd436ee2b61339e8d0f1dd81d76&dtype=xml 为例(xml解析需要用到两个注解,一个属性/类注解,一个是集合注解),先看Bean.class

写xml和json的Bean.class的需要特别注意的一点是 xml.class类里的class类是静态的,要不然会报错

//节点属性注解(关于注解可以去百度下,在这里不做解释)
@XStreamAlias("root")
public class Bean {
    public String resultcode;
    public String reason;
    public String error_code;

    @XStreamAlias("result")
    public ResultBean result;

    public static class ResultBean{
        //集合的注解
        @XStreamImplicit(itemFieldName="item")
        public ArrayList<ItemBean> item;

        public static class ItemBean{
            public String id;
            public String catalog;
        }
    }
}

代码快

//String 属性是请求到的xml
    private void streamXml(String xml) {

        XStream stream = new XStream();
        //指定Bean.class
        stream.processAnnotations(Bean.class);
        //指定xml
        Bean bean = (Bean) stream.fromXML(xml);
//        Log.i(TAG, "streamXml: "+bean.resultcode);
        //这点和json不同,集合需要自己创建
        itemList = new ArrayList<Bean.ResultBean.ItemBean>();
        //把Bean.class里的集合赋值给创建的集合
        itemList = bean.result.item;
//        for (Bean.ResultBean.ItemBean itemBean :itemList) {
//            Log.i(TAG, "streamXml: "+itemBean.catalog);
//        }
}

我也是一个初学者,知道方法了其实很简单,希望在学习的同时可以把自己的知识分享给大家.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4815次
    • 积分:290
    • 等级:
    • 排名:千里之外
    • 原创:21篇
    • 转载:2篇
    • 译文:3篇
    • 评论:1条
    文章分类
    最新评论