开发者社区> 赵彦军521> 正文

android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象

简介: 前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xstream 二: 把对象转换成xml android XMl 解析神奇xstream 三: 把复杂对象转换成 xml   1、文件准备 把一个预先写好的xml文件放在android项目目录的 asset 文件夹。
+关注继续查看
前言:对xstream不理解的请看:

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

android XMl 解析神奇xstream 二: 把对象转换成xml

android XMl 解析神奇xstream 三: 把复杂对象转换成 xml

 

1、文件准备

把一个预先写好的xml文件放在android项目目录的 asset 文件夹。

文件内容为:

<blog>
  <age>30</age>
  <name>jhon</name>
  <person>
    <pAge>36</pAge>
    <pName>saliy</pName>
  </person>
</blog>

 

 

2、javaBeen

package com.android10;

public class Person {

    String pName ;
    String pAge  ;
    
    public String getpName() {
        return pName;
    }
    public void setpName(String pName) {
        this.pName = pName;
    }
    public String getpAge() {
        return pAge;
    }
    public void setpAge(String pAge) {
        this.pAge = pAge;
    } 
}

 

package com.android10;


public class Product {

    private String name ;

    private String age  ;

    private Person person ;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public Person getPerson() {
        return person;
    }

    public void setPerson(Person person) {
        this.person = person;
    }
}


3、主要方法

package com.android10;
import java.io.IOException;
import java.io.InputStream;

import android.app.Activity;
import android.os.Bundle;

import com.thoughtworks.xstream.XStream;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView( R.layout.activity_main );

        //得到资源中的数据流  
        String fileName = "aa.xml" ; //文件名字   
        try {
            InputStream in = getResources().getAssets().open( fileName ) ;
            XStream xstream = new XStream() ;   

            //这个blog标识一定要和Xml中的保持一直,否则会报错    
            xstream.alias( "blog" , Product.class ); 
            Product product = (Product) xstream.fromXML( in );

            System.out.println("sss " + product.getName() + product.getAge()  );
        } catch (IOException e) {
            e.printStackTrace();
        }  
    }
}


4、运行结果

 product jhon30 person  saliy36

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关于使用JAXB读取xml文档转换为java对象出现非法注解异常
关于使用JAXB读取xml文档转换为java对象出现非法注解异常
32 0
使用XStream进行对象和xml的转换,极度舒适
使用XStream进行对象和xml的转换,极度舒适
23 0
C#复杂XML反序列化为实体对象两种方式 (上)
C#复杂XML反序列化为实体对象两种方式
82 0
Java:jackson将xml和json转为JavaBean对象
Java:jackson将xml和json转为JavaBean对象
148 0
SpringMVC - 数据绑定(Xml、@InitBinder、Set、嵌套对象、多个对象)(二)
SpringMVC - 数据绑定(Xml、@InitBinder、Set、嵌套对象、多个对象)(二)
97 0
Android逆向:二进制xml文件解析(Start Tag Chunk)
在Android中,xml文件经过编译后都是不可读的二进制文件。今天我们来解析一下这个二进制文件的内容,看看如何与我们的源码进行对应。
172 0
【SpringMVC】SpringMvc基础-常用注解、对象和json或xml之间的转换
【SpringMVC】SpringMvc基础-常用注解、对象和json或xml之间的转换
95 0
轻松搞定XML和对象之间的互转,就它了!
轻松搞定XML和对象之间的互转,就它了!
243 0
+关注
赵彦军521
Android开发者
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
Android组件化实现
立即下载
蚂蚁聚宝Android秒级编译—— Freeline
立即下载
Android插件化:从入门到放弃
立即下载