使用XStream解析xml

 

创建xml的bean

 package com.bwie.yuekao.bean;

import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

@XStreamAlias("root")      //开始   最上面声明开始
public class XmlBean {
    public String resultcode;     //包含的参数
    public String reason;
    public String error_code;
    public Myresult result;     //这个参数里还包含了参数   声明返回值为对象

    @XStreamAlias("result")    //  创建这个对象的类   声明这个类从那个参数开始
    public class Myresult {

        @XStreamImplicit(itemFieldName = "item")      
        public List<MyItem> item;     //   包含许多对象  声明成集合   在上面声明集合从这个参数开始

    }

    public class MyItem {      //   创建集合中的对象     包含参数

        public String id;
        public String catalog;
    }

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

xml

<root>

          <resultcode>200</resultcode>

          <reason>success</reason>

          <result>

                    <item>

                              <id>242</id>

                              <catalog>中国文学</catalog>

                    </item>

                    <item>

                               <id>252</id>

                               <catalog>人物传记</catalog>

                    </item>

                    <item>

                               <id>244</id>

                               <catalog>儿童文学</catalog>

                    </item>

          </result>

          <error_code>0</error_code>

</root>

 

 

//////////////////////////////////////////////////////////////////////////////////////////////////////

解析数据

    // 实例化xsteam
            XStream xStream = new XStream();

            // 注册 使用了注解的 DataXml
            xStream.processAnnotations(XmlBean.class);

            // 解析xml                                                
            XmlBean dataxml = (XmlBean) xStream.fromXML(string);   //   string为请求的xml

            Myresult result = dataxml.result;
            item = result.item;
            list = new ArrayList<String>();
            for (MyItem myitem : item) {
                list.add(myitem.catalog);
            }

 

posted on 2016-03-27 21:16  崔崔~  阅读(462)  评论(0编辑  收藏  举报