Android基础操作-----解析xml

转载:https://www.cnblogs.com/zhaoyanjun/p/4570290.html

一、使用xstream

XStream是一个开源项目,一套简单实用的类库,用于序列化对象与XML对象之间的相互转换。
将XML文件内容解析为一个对象或将一个对象序列化为XML文件。

1、下载工具xstream
下载最新版本地址:https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/
下载完成后把jar包导入到自己的android项目中

2、常用的方法:
(1)fromXML()方法返回值是Object
xStream.fromXML(Filefile);
xStream.fromXML(InputStreamin);
xStream.fromXML(Readerreader);
xStream.fromXML(Stringxml);
xStream.fromXML(URLurl);
xStream.fromXML(Filefile,Objectroot);
xStream.fromXML(InputStreamin,Objectroot);
xStream.fromXML(Readerreader,Objectroot);
xStream.fromXML(Stringxml,Objectroot);
xStream.fromXML(URLurl,Objectroot);

(2)toXML()方法
xStream.toXML(Objectobject);//返回值String
xStream.toXML(Objectobject,OutputStreamout);//返回值void
xStream.toXML(Objectobject,Writerwriter);//返回值void

(3)设置别名
根节点设置别名:参数一:别名;参数二:当前的类名
xstream.alias("blog",Product.class);
属性节点设置别名:参数一:别名;参数二:当前的类名;参数三:原来的节点名
xstream.aliasField("blogName",Person.class,"pName");

3、案例

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() ;       
            xstream.alias( "product" , Product.class );  //这里的product一定要和 xml文件中的 product 保持一直,否则会报错的.     
            Product product = (Product) xstream.fromXML( in );

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

猜你喜欢

转载自blog.csdn.net/pangjl1982/article/details/86004015