安卓xml使用第三方框架Xstream解析

//首先实例化Xstream

XStream stream = new XStream();
        stream.processAnnotations(MyBean.class);//这里需要注解是你自己根据xml写的bean类(下面附代码解释xml)

        MyBean bean = (MyBean) stream.fromXML(xml);//xml魏自己从网络上获取的xml字符串

          //下一步就不写了,式袭击想要xml节点里的什么就取什么

//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>
    <item>
         <id>248</id>
         <catalog>历史</catalog>
   </item>
   <item>
        <id>257</id>
        <catalog>哲学</catalog>
  </item>
    </result>
<error_code>0</error_code>
</root>

//接下来是bean类

@XStreamAlias("root")//这里用到注解(必须写)
public class MyBean {
    public String resultcode;
    public String reason;
    public String error_code;
//    @XStreamAlias("result")
//    public MyrResult result;
    @XStreamImplicit(itemFieldName="result")//这个节点可以写成类也可以写成集合,一般还是要写成类比较好理解
    public ArrayList<MyrResult> result;

    public static class MyrResult{
        @XStreamImplicit(itemFieldName="item")
        public ArrayList<MyItem> item;

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

总结小经验

1:xml一个节点的都可以认为是一个类,如果要写一个类在此类上面写个注解(类的注解为@XStreamAlias(“你的节点名”))

2:一个大节点有几个相同的小节点一般都是集合类型的(集合的注解为@XStreamImplicit(“你的节点名”))

3:xml里面的每一个属性(子节点)都必须要写,不然会报错

4:出了最外层的类不用写成静态的,里面的每一个类都必需写成静态的,

阅读更多
文章标签: xml
个人分类: 解析数据
上一篇自定义圆形图
下一篇Android连续点击两次Back键退出程序
想对作者说点什么? 我来说一句

android XMl 解析神奇xstream

2015年06月11日 4.79MB 下载

没有更多推荐了,返回首页

关闭
关闭