`
阅读更多

xml文件内容:

<list>
  <storagePool>
    <name>isopool</name>
    <path>/vms/isos</path>
    <type>dir</type>
    <totalSize>4983</totalSize>
    <freeSize>4810</freeSize>
    <status>1</status>
  </storagePool>
  <storagePool>
    <name>defaultpool</name>
    <path>/vms/images</path>
    <type>dir</type>
    <totalSize>4983</totalSize>
    <freeSize>4771</freeSize>
    <status>1</status>
  </storagePool>
</list>

 

 //测试代码

public static void main(String[] args) throws IOException {

        //由XML转化成JavaBean
        String filePath = "E:\\杂乱代码\\store.xml";
        String xml = FileUtil.readFileContent(filePath);
        System.out.println(xml);
        XStream xstream = new XStream(new DomDriver());
        xstream.processAnnotations(H3CVMStoragePoolList.class);//必须把根目录注册进去
        H3CVMStoragePoolList h3CVMStoragePoolList = (H3CVMStoragePoolList) xstream.fromXML(xml);       
        for(H3CVMStoragePool temp : h3CVMStoragePoolList.getList())
        {
            System.out.println(temp.getName());
        }

 

       //由bean转化成xml的String

       H3CVolumAdd h3CVolumAdd = new H3CVolumAdd();
        h3CVolumAdd.setHostId(1124);
        h3CVolumAdd.setSpName("/df/df/df/df");
        h3CVolumAdd.setVolName("/fg/fg/fg");
        h3CVolumAdd.setBaseFile("/fgh/ghgfh");
        XStream xstream1 = new XStream(new DomDriver());

        //使用@XStreamOmitField对不生成xml的字段加注释
        //然后代码中使用xstream.autodetectAnnotations(true);就可以完成去掉属性了
        xstream1.autodetectAnnotations(true);
        String volAddXml = xstream1.toXML(h3CVolumAdd);
    
        System.out.println(volAddXml);

    }

 

@XStreamAlias("list")//这个注释必须有
public class H3CVMStoragePoolList implements Serializable{
    private static final long serialVersionUID = 1L;
   
    @XStreamImplicit(itemFieldName="storagePool")//这个注释必须有
    private ArrayList<H3CVMStoragePool> list;
    public ArrayList<H3CVMStoragePool> getList() {
        return list;
    }
    public void setList(ArrayList<H3CVMStoragePool> list) {
        this.list = list;
    }
}

 

@XStreamAlias("storagePool") //这个注释必须有
public class H3CVMStoragePool implements Serializable{
    private static final long serialVersionUID = 1L;
    String name;
    String path;
    String type;
    long totalSize;
    long freeSize;
    int status;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPath() {
        return path;
    }
    public void setPath(String path) {
        this.path = path;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public long getTotalSize() {
        return totalSize;
    }
    public void setTotalSize(long totalSize) {
        this.totalSize = totalSize;
    }
    public long getFreeSize() {
        return freeSize;
    }
    public void setFreeSize(long freeSize) {
        this.freeSize = freeSize;
    }
    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }
}

 

@XStreamAlias("volAddParameter")//这个注释信息必须有的
public class H3CVolumAdd {
    private long hostId;
    private String spName;
    private String  volName;
    private long capacity;
    private String format;
    //使用@XStreamOmitField对不生成xml的字段加注释
    //然后代码中使用xstream.autodetectAnnotations(true);就可以完成去掉属性了
    @XStreamOmitField
    private String baseFile;

    public long getHostId() {
        return hostId;
    }
    public void setHostId(long hostId) {
        this.hostId = hostId;
    }
    public String getSpName() {
        return spName;
    }
    public void setSpName(String spName) {
        this.spName = spName;
    }
    public String getVolName() {
        return volName;
    }
    public void setVolName(String volName) {
        this.volName = volName;
    }
    public long getCapacity() {
        return capacity;
    }
    public void setCapacity(long capacity) {
        this.capacity = capacity;
    }
    public String getFormat() {
        return format;
    }
    public void setFormat(String format) {
        this.format = format;
    }
    public String getBaseFile() {
        return baseFile;
    }
    public void setBaseFile(String baseFile) {
        this.baseFile = baseFile;
    }
}

分享到:
评论

相关推荐

    Xstream使用说明

    与传统的XML序列化方式相比,Xstream的优势在于它无需编写额外的辅助类或映射文件,简化了XML序列化的流程。 #### 二、Xstream基本使用 Xstream的使用非常简单直观,下面通过一个简单的示例来展示如何使用Xstream...

    XStream使用文档 wd.docx

    总之,XStream 提供了一种方便、灵活的方式来处理 Java 对象和 XML 数据之间的转换,其简洁的 API 和宽松的要求使得它成为许多 Java 开发者的首选工具。在实际项目中,根据需求,还可以探索更多高级特性和定制选项,...

    xstream使用案例

    在提供的压缩包文件中,可能包含了使用 XStream 进行序列化和反序列化的示例代码,你可以通过运行这些代码更深入地了解其工作原理和使用方式。学习并理解 XStream 的用法,可以帮助你在 Java 开发中更加高效地处理 ...

    xstream使用小记

    Xstream是一款Java库,它提供了简单且强大的方式来序列化和反序列化Java对象到XML,以及从XML回转换为Java对象。在本文中,我们将深入探讨Xstream的核心概念、使用场景以及如何通过实例进行操作。 首先,Xstream的...

    XStream使用例子

    XStream是一个功能丰富的库,提供了一种简洁的方式来处理Java对象和XML/JSON之间的转换。通过理解和掌握其核心特性、安全性设置以及自定义转换器,开发者可以在项目中充分利用XStream的优势,提高代码的可读性和可...

    使用XStream操作xml教程

    XStream库提供了一个优雅的方式来将Java对象转换为XML,反之亦然,使得处理XML数据变得更加简单。本教程将深入探讨如何使用XStream进行XML操作。 一、XStream简介 XStream是一个开源库,由Johannes Link开发,它...

    xml解析及使用XStream实现javaBean与xml之间的转换

    本篇将详细讲解XML的解析方式及其在Java中的应用,特别是如何使用XStream库进行JavaBean与XML之间的互转。 1. **XML解析方式** - DOM解析:Document Object Model,它一次性加载整个XML文档到内存,形成一棵树形...

    xStream使用demo

    使用xstream来读取xml文件的demo,该demo中,使用了支付宝对账单返回的xml为列子来展示使用xstream的注解的方式读取xml,并且转成实体类.学习xstream或者对xstream有疑问的可以参考下..之所以使用支付宝账单返回的xml是...

    xstream方式解析xml文件

    xstream方式解析及生成xml文件

    xStream xml to bean

    xStream是一个轻量级的库,它提供了一种简单的方式来将Java对象序列化为XML,反之亦然。这个工具类的目标就是利用xStream的功能,方便地将XML文档转换为Java Bean对象,以及将Bean对象转换为XML字符串。 xStream的...

    XStream Java下的使用

    **XStream Java下的使用** ...总之,XStream为Android开发者提供了一种方便的方式来处理XML数据,无论是在本地存储还是网络通信中。理解并熟练使用它的核心功能和扩展选项,将有助于提高代码的可读性和可维护性。

    使用XStream 多集合生成xml

    在这个场景中,"使用XStream多集合生成xml"是一个关键的技术点,它涉及到如何将多个集合类的对象转换成XML文档。以下是对这一主题的详细说明。 首先,我们需要了解XStream的基本用法。XStream的核心是`XStream`类,...

    java 利用Xstream注解生成和解析xml

    总结起来,Xstream通过注解提供了一种简洁、直观的方式来处理XML和Java对象之间的转换。这种灵活性使得在Java项目中处理XML数据变得更加简单,尤其在需要频繁进行序列化和反序列化的场景下。通过熟练掌握Xstream的...

    xStream完整Jar包

    这个“xStream完整Jar包”很可能包含了 XStream 库的所有组件,包括核心库、相关的依赖和可能的示例代码,以确保用户在使用过程中不会遇到因缺少依赖而导致的错误。 **XML 序列化与反序列化** XStream 的主要功能...

    使用XStream序列化/反序列化对象

    XStream是由Joe Walnes创建的一个开源项目,它提供了一种简单的方式来将Java对象转换为XML,反之亦然。它的核心理念是通过简单的注解或反射来处理对象到XML的映射,这使得XML数据的处理变得更加直观和易于理解。 在...

    xstream解析依赖包

    XStream的核心功能是提供了一种直观的方式来将Java对象转换为XML,并能从XML还原为等效的Java对象。这个过程被称为对象绑定。XStream通过使用自定义的转换器(Converter)和数据类型的安全性,使得这个转换过程既...

    XStream使用方法总结附实例代码

    下面我们将详细探讨`XStream`的使用方法和特性。 首先,创建`XStream`对象是通过`new XStream()`完成的。双向转换是`XStream`的核心功能,`toXML()`方法用于将Java对象转换为XML字符串,而`fromXML()`方法则相反,...

    Java用xStream拼接xml

    Java中的xStream库提供了一个简单易用的方式来将Java对象序列化为XML,反之亦然,即反序列化XML回Java对象。 **xStream简介** xStream是一个开源的Java库,由Johannes Link创建。它提供了简洁、直观的API来处理XML...

    xstream-1.3.1.zip

    5. 支持泛型:尽管Java泛型信息在编译后丢失,但XStream可以通过注解或其他方式来恢复这些信息,从而支持泛型类的序列化和反序列化。 6. 高效性能:XStream设计精良,执行效率高,特别是在处理大量数据时,其性能...

    com.thoughtworks.xstream.XStream操作XML和java对象的一些用法

    XStream库提供了一个简单、直观的方式来实现这种转换,使得XML序列化和反序列化变得非常方便。本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一...

Global site tag (gtag.js) - Google Analytics