安卓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:出了最外层的类不用写成静态的,里面的每一个类都必需写成静态的,

猜你喜欢

转载自blog.csdn.net/qq_33983391/article/details/51557095