免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1733 | 回复: 1
打印 上一主题 下一主题

[Android] 解析android项目中 asset 文件夹 下的 aa.xml 文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-06-15 12:58 |只看该作者 |倒序浏览
简介

XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换。

将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件。



1、下载工具 xstream
下载完成后 把jar包导入到自己的android项目中
2、 常用的方法:

(1)fromXML()方法 返回值是 Object

xStream.fromXML( File file) ;

xStream.fromXML( InputStream in) ;

xStream.fromXML( Reader reader ) ;

xStream.fromXML( String xml ) ;

xStream.fromXML( URL url ) ;

xStream.fromXML( File file , Object root ) ;

xStream.fromXML( InputStream in , Object root ) ;

xStream.fromXML( Reader reader , Object root ) ;

xStream.fromXML( String xml , Object root ) ;

xStream.fromXML( URL url , Object root ) ;  



(2)toXML()方法

xStream.toXML( Object object ) ;   //返回值String

xStream.toXML( Object object , OutputStream out ); //返回值void

xStream.toXML( Object object , Writer writer );  //返回值void



3、asset 文件夹 下的 aa.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<product>   
<name>jike</name>  
<age>30</age>
</product>

4、实体
  1. package com.android10;


  2. public class Product {

  3.     private String name ;
  4.    
  5.     private String age  ;

  6.     public String getName() {
  7.         return name;
  8.     }

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

  12.     public String getAge() {
  13.         return age;
  14.     }

  15.     public void setAge(String age) {
  16.         this.age = age;
  17.     }
  18. }
复制代码
5、实现代码
  1. package com.android10;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import android.app.Activity;
  5. import android.os.Bundle;
  6. import com.thoughtworks.xstream.XStream;

  7. public class MainActivity extends Activity {

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

  12.         //得到资源中的数据流  
  13.         String fileName = "aa.xml" ; //文件名字   
  14.         try {
  15.             InputStream in = getResources().getAssets().open( fileName ) ;
  16.             XStream xstream = new XStream() ;      
  17.             xstream.alias( "product" , Product.class );  //这里的product一定要和 xml文件中的 product 保持一直,否则会报错的.     
  18.             Product product = (Product) xstream.fromXML( in );

  19.             System.out.println("sss " + product.getName() + product.getAge()  );
  20.         } catch (IOException e) {
  21.             e.printStackTrace();
  22.         }   
  23.     }
  24. }
复制代码
6、运行结果
   sss jike30

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2015-07-01 17:12 |只看该作者
解析和反解析。其实XML还是一种不错的传递数据 的工具。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP