XStream的使用方法、简单使用方法、xml的解析方法
2016-08-17 00:46
691 查看
下面介绍的是在Android Studio中的使用
Android Studio中目前支持的Xstream最高版本是xstream-1.4.7.jar,大家可以在网上下载,我的是在开源中国项目中有这个jar包,我是直接将jar包放到libs中使用的,因为我尝试在build.gradle中通过complie的方法添加依赖,但是编译的时候还是不通过。
我使用的是okhttp的client。
下面介绍的是项目开发中从网络获取xml文件并解析成javaBean的方法。
1.网络服务器中的xml文件
2. javaBean
3.使用
其实也就这步关键而已,其他的不重要:
//对指定的类使用Annotations 进行序列化
xstream.processAnnotations(Person.class);
运行结果:
Android Studio中目前支持的Xstream最高版本是xstream-1.4.7.jar,大家可以在网上下载,我的是在开源中国项目中有这个jar包,我是直接将jar包放到libs中使用的,因为我尝试在build.gradle中通过complie的方法添加依赖,但是编译的时候还是不通过。
我使用的是okhttp的client。
下面介绍的是项目开发中从网络获取xml文件并解析成javaBean的方法。
1.网络服务器中的xml文件
<person name="johnson"> <firstname>Joe</firstname> <lastname>Walnes</lastname> <phone> <phoneno>0107654321</phoneno> </phone> <phone> <phoneno>13800008888</phoneno> </phone> </person>
2. javaBean
/** * Created by weizh_000 on 2016/8/16. */ //设置Person类在xml中的别名 @XStreamAlias("person") public class Person { //将name设置为XML person字段的 attribute @XStreamAsAttribute() private String firstname; private String lastname; //该变量不是xml中的一个字段,应去掉 @XStreamImplicit() private List<Phone> phone = new ArrayList<Phone>(); @Override public String toString() { return "Person{" + "firstname='" + firstname + '\'' + ", lastname='" + lastname + '\'' + '}'; } public List<Phone> getPhoneno() { return phone; } public void setPhoneno(List<Phone> phone) { this.phone = phone; } class Phone{ String phoneno; @Override public String toString() { return "Phone{" + "phoneno=" + phoneno + '}'; } } }
3.使用
public void test() { OkHttpClient okHttpClient = new OkHttpClient();//定义client Request request = new Request.Builder().url("http://192.168.1.100:8080/test/test.xml").build();//定义request okhttp3.Call call = okHttpClient.newCall(request);//用client使用call call.enqueue(new okhttp3.Callback() {//异步请求网络数据 @Override public void onFailure(okhttp3.Call call, IOException e) {//请求失败的情况 System.out.println("fail:"); e.printStackTrace(); } @Override public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOException {//请求成功的情况 XStream xStream = new XStream(new DomDriver("UTF-8")); //对指定的类使用Annotations 进行序列化,这步非常关键 xStream.processAnnotations(Person.class); if (response.isSuccessful()) { String string = response.body().string(); Person person = (Person) xStream.fromXML(string); System.out.println(person.toString()); System.out.println(person.getPhoneno().toString()); } } }); }
其实也就这步关键而已,其他的不重要:
//对指定的类使用Annotations 进行序列化
xstream.processAnnotations(Person.class);
运行结果:
Person{firstname='Joe', lastname='Walnes'} [Phone{phoneno=0107654321}, Phone{phoneno=13800008888}]
相关文章推荐
- 简单介绍使用Python解析并修改XML文档的方法
- android中解析复杂xml(XStream简单使用)
- java中解析复杂xml(XStream简单使用)
- 简单介绍使用Python解析并修改XML文档的方法
- C++ tinyxml的编译及简单使用方法
- 使用 XML: 了解解析 XML 的各种方法
- 【类库解析】一个轻量级C++ xml解释器 TinyXML的使用方法
- 有关TinyXML使用的简单总结:来解析XML数据
- 解析XML,将数据显示在treeview上,使用简单工厂模式
- dom4j解析XML简单方法
- 在已知XML文件内容时,使用dom4j简单解析XML(String类型的XML)(用于服务器端)
- Java开源-Jdom对XML解析方法的使用指南
- 使用DOM4J解析XML及采用Schema校验的方法
- ie无法使用jquery解析xml的解决方法
- Java使用JDOM解析XML(转载,简单又详细)
- 使用JDOM解析XML(转载,简单又详细)
- 使用C#解析简单XML
- Php Xml解析之DOMDocument使用方法
- Android中使用XStream解析XML
- SAX方式解析XML的简单方法