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文件的demo,该demo中,使用了支付宝对账单返回的xml为列子来展示使用xstream的注解的方式读取xml,并且转成实体类.学习xstream或者对xstream有疑问的可以参考下..之所以使用支付宝账单返回的xml是...
XStream在运行时使用Java反射机制对要进行序列化的...XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义的类型转换器。
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
创建XSteam对象的方式很简单,只需要new XStream()即可。 Java到xml,用toXML()方法。 Xml到Java,用fromXML()方法。 在没有任何设置默认情况下,java到xml的映射,是java成员名对应xml的元素名,java类的全名对应...
XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。 因此XML常用于数据交换、对象序列化. ...创建XSteam对象的方式很简单,只需要new XStream()即可。
xstream-1.4.7.jar及源码;xml-pull-1.3.1.jar工具类,xstream-1.3.jar,XStream是一个Java...创建XSteam对象的方式很简单,只需要new XStream()即可。 Java到xml,用toXML()方法。 Xml到Java,用fromXML()方法。
* xstream 解析xml测试,本程序使用两种方式进行解析 * 分别为:注解方式与编程设置别名方式 * 注解方式代码更为简单,但对model需要用注解方式编写 * 编程设置别名方式代码稍复杂,但更灵活。 * @author 蜜我 ...
所以在读取大型xml时可以把 xstream与saxparser结合起来使用,用saxparser读取整个xml把核心数据部分让xstrea m来解析成javabean,这样既解决了大数据的问题又利用了xstream快速转化javabean的 优点。 为了利于多...
压缩包里面有两个文件:SAX.java和SAXparse.java 用来解析大于100M的xml文件,SAX读取xml不同于DOM方式,DOM方式在解析xml前需要全部加载xml文件,当xml文件很大时,就会出现内存不足的问题,而SAX则是逐行读取xml...
这种技术可以将整个数据 库、数据库中的对象复制到另一数据库中,通过使用Stream 的技术,对归档日志的挖掘, 可以在对主系统没有任何压力的情况下,实现对数据库对象级甚至整个数据库的同步。 解析归档...
14.2.3 使用XStream别名 14.2.4 XStream转换器 14.2.5 XStream注解 14.2.6 流化对象 14.2.7 持久化API 14.2.8 额外功能:处理JSON 14.3 其他常见O/X Mapping开源项目 14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor ...
14.2.3 使用XStream别名 14.2.4 XStream转换器 14.2.5 XStream注解 14.2.6 流化对象 14.2.7 持久化API 14.2.8 额外功能:处理JSON 14.3 其他常见O/X Mapping开源项目 14.3.1 JAXB 14.3.2 XMLBeans 14.3.3 Castor ...
注: Js里应用非常简单,有三种方式:直接加载json文件、通过url方式获取json格式数据、直接通过set方法设置参数值。这方面不再多说,下面主要说明java方面的应用,并针对struts2,至于servlet及struts1用法基本类似...
建立前端应用程序的一种自以为是的方式。 与配合良好。 安装 翘曲的组件需要React 16.8.3或更高版本 $ npm install --save warped-components react xstream 简而言之 该视图由React处理。 该状态由Redux处理。 ...
4.3.2 XStream的使用 80 4.3.3 解析请求消息 83 4.3.4 响应消息对象转XML 85 4.4 案例:消息的接收与响应 88 4.4.1 开发准备工作 88 4.4.2 消息封装类 88 4.4.3 封装消息处理工具 89 4.4.4 ...
de.javakaffee.web.msm.JavaSerializationTranscoderFactory de.javakaffee.web.msm.serializer.javolution.JavolutionTranscoderFactory de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory de....
de.javakaffee.web.msm.serializer.xstream.XStreamTranscoderFactory de.javakaffee.web.msm.serializer.json.JSONTranscoderFactory de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory 各个序列化...
咕泡——Spring_Cloud_配置 Spring Cloud 配置 Java 中配置 字符类型配置 通用(内置) Java 系统属性(System#...结论:JDK 提供底层配置源的存储方式,没有具体抽象配置 API, 仅提供了一些零散的配置类型转换