您的位置:首页 > 其它

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

2016-06-01 20:25 405 查看
//首先实例化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