1.addImplicitCollection
类里面包含一个List变量在读取xml配置的时候是很常见的情况,比如:
有三个类:AuditTrail, AuditTrailEntry, AuditTrailEntryField,要读取的xml:
<AuditTrail>
<Entry type="ExecutionReport" msgId="2544804979">
<field tag="35" val="8"/>
<field tag="34" val="000023"/>
<field tag="43" val="N"/>
<field tag="52" val="20090526-20:08:31"/>
<field tag="6556" val="today12"/>
<field tag="17" val="73740.1243368511.0"/>
<field tag="32" val="*"/>
</Entry>
<Entry type="Acknowledged" msgId="1540251818">
</Entry>
</AuditTrail>
如果你仅仅是做类的alias:
XStream xStream = new XStream ();
xStream.alias ("AuditTrail", AuditTrail.class);
xStream.alias ("Entry", AuditTrailEntry.class);
xStream.alias ("field", AuditTrailEntryField.class);
就会抛异常:ConversionException: Element [NAME] of type [TYPE]
is not defined as [NAME] in type [TYPE]
解决办法就是addImplicitCollection,它会告诉xstream,有一个隐式的collecton存在:
xStream.addImplicitCollection (AuditTrailEntry.class, "fields");
xStream.addImplicitCollection (AuditTrail.class, "entries");
(其中, List <AuditTrailEntryField> fields定义在 class AuditTrailEntry
List <AuditTrailEntry> entries 定义在 class AuditTrail.)
2.useAttributeFor
设置某个节点显示到父节点的属性中,也就是将指定class中的指定属性,在这个class元素节点的属性中显示。
如:<student><name>hoojo</name></student>
设置好后就是这样的结果:<student name=”hoojo”></student>
3.aliasAttribute
修改属性名称.比如stream.aliasAttribute(NpcAiConfig.class,"aid","id"),表示类NpcAiConfig有一个变量aid,它对应的是xml里面的id属性
分享到:
相关推荐
Xstream上次对CVE-2020-26217处理并不彻底,虽然通过黑名单方法阻止了远程代码执行,但是仍然可以采用类似思路实现文件删除与服务器请求伪造。 影响版本 Xstream 修复版本 Xstream > = 1.4.15 风险等级 严重
XStream在运行时使用Java反射机制对要进行序列化的...XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义的类型转换器。
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
赠送jar包:xstream-1.4.7.jar; 赠送原API文档:xstream-1.4.7-javadoc.jar; 赠送源代码:xstream-1.4.7-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.7.pom; 包含翻译后的API文档:xstream-1.4.7-javadoc-...
可以看出person类的name和age属性映射出的节点名称与属性名称相同,那么XStream也支持对类属性的映射配置方法 : aliasField(“节点名称”,”类名称”,”属性名”) 如下: xStream.aliasField("PROFILE", Person....
XStream使用方法总结L-对象-转换.txt
赠送jar包:xstream-1.4.7.jar; 赠送原API文档:xstream-1.4.7-javadoc.jar; 赠送源代码:xstream-1.4.7-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.7.pom; 包含翻译后的API文档:xstream-1.4.7-javadoc-...
序列化/逆序列化类的字段不需要 getter 和 setter 方法。 序列化/逆序列化的类不需要有默认构造函数。 不需要修改类,使用 XStream 就能直接序列化/逆序列化任何第三方类。 该下载资源包括示例源码、相关的 xpp3_...
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
XStream中的核心类就是XStream类,一般来说,熟悉这个类基本就够用了,如果你用的更多,估计是你设计有问题,否则不需要。 XStream对象相当Java对象和XML之间的转换器,转换过程是双向的。创建XSteam对象的方式很...
xstream-1.4.7.jar及源码;xml-pull-1.3.1.jar工具类,xstream-1.3.jar,XStream是一个Java对象和XML相互转换的工具,很好很强大。提供了所有的基础类型、数组、集合等类型直接转换的支持。 因此XML常用于数据交换...
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
主要介绍了Javabean基于xstream包实现转XML文档的方法,结合具体实例形式分析了xstream包用于转换xml文件的具体使用技巧,需要的朋友可以参考下
XML各种操作方法汇集XML各种操作方法汇集XML各种操作方法汇集XML各种操作方法汇集
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件...
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件...
·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件...
用jdom 操作xml文档 jdom+xpath 操作 xml 文档 Xstream
利用XStream方法 将xml配置文件与java对象的互换,可用于不同数据表空间的数据同步等信息。强大的工具