`
yes1983
  • 浏览: 38423 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XStream的一些有用的方法

阅读更多
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-1.4.2.jar

    《XStream详解与应用》 XStream是一款强大的Java库,用于将对象序列化为XML,同时也能从XML数据中反序列化回对象。在标题"xstream-1.4.2.jar"中,我们看到的是XStream的一个特定版本——1.4.2。这个版本包含了...

    xstream-1.4.15.jar

    Xstream上次对CVE-2020-26217处理并不彻底,虽然通过黑名单方法阻止了远程代码执行,但是仍然可以采用类似思路实现文件删除与服务器请求伪造。 影响版本 Xstream 修复版本 Xstream &gt; = 1.4.15 风险等级 严重

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

    XStream的核心在于`toXML()`方法,它可以将任何Java对象转换成XML字符串。例如,如果你有一个简单的User类,包含name和age属性,你可以这样转换: ```java User user = new User("Alice", 25); XStream xstream...

    xstream-1.4.19.jar

    xstream-1.4.19.jar

    xstream-1.4-API

    XStream 还支持流式处理 XML,这对于处理大量数据非常有用。可以使用 `XppDriver` 或 `StaxDriver` 驱动来实现。 ### 9. **与其他框架集成** XStream 可以轻松地与 Spring、Hibernate 等其他框架集成,用于持久化...

    XStream XML与Json转换

    XStream在运行时使用Java反射机制对要进行序列化的...XStream支持以方法调用的方式,或是Java 标注的方式指定别名。 XStream在进行数据类型转换时,使用系统缺省的类型转换器。同时,也支持用户自定义的类型转换器。

    xstream相关的jar包

    1. **xstream-1.4.9.jar**:这是XStream的核心库,包含了所有必要的类和方法来实现对象到XML的转换和反转换。版本1.4.9是当前稳定版本,提供了许多性能优化和错误修复。 2. **dom4j-1.6.1.jar**:DOM4J是一个流行的...

    XStream使用例子

    XStream提供了一些选项来提升效率,比如使用缓存来避免重复的类型检查: ```java xstream.cacheReflectionProvider(new ReflectionProvider() {...}); ``` **总结** XStream是一个功能丰富的库,提供了一种简洁的...

    xstream-1.4.2

    1. **基本序列化与反序列化**:通过`XStream.fromXML()`和`xstream.toXML()`方法,可以轻松地完成对象到XML的转换和XML到对象的还原。 2. **类型安全的序列化**:通过`xstream.allowTypes()`方法,可以指定允许序列...

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

    双向转换是`XStream`的核心功能,`toXML()`方法用于将Java对象转换为XML字符串,而`fromXML()`方法则相反,将XML字符串转换回Java对象。 默认情况下,`XStream`会将Java类的成员名映射为XML元素名,类的全名作为XML...

    XStream解析各种数据格式

    ### XStream解析各种数据格式 #### 一、XStream简介 XStream 是一个简单高效的 Java 库,用于将 Java 对象序列化为 ...通过本文介绍的基本使用方法和高级特性,开发者可以更好地利用 XStream 来满足项目的实际需求。

    springMVC整合xStream实现对象和xml转换

    4. **对象转换为XML**:在`getXmlResponse()`方法中,创建一个User对象,然后使用XStream将其转换为XML字符串。 ```java User user = new User(); // 初始化user对象... String xmlResponse = xstream.toXML...

    xstream-1.4.11-API文档-中文版.zip

    赠送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-...

    xstream教程资料.rar

    XStream支持自定义类型转换器,当处理特定复杂类型的对象时非常有用。通过实现`com.thoughtworks.xstream.converters.Converter`接口并注册到XStream实例中,可以控制对象到XML的转换过程。 五、安全与配置 由于...

    XStream使用文档 wd.docx

    此外,XStream 还支持从 XML 反序列化回 Java 对象,只需调用 `fromXML` 方法即可。这些基本操作构成了使用 XStream 进行对象序列化和反序列化的核心。 总之,XStream 提供了一种方便、灵活的方式来处理 Java 对象...

    xStream xml to bean

    在`beanToXml()` 方法中,同样需要初始化xStream实例,然后使用`toXML()` 方法将Bean对象转换为XML字符串: ```java public String beanToXml(YourBeanClass bean) { XStream xstream = new XStream(new DomDriver...

    XStream 1.3 API 手册

    1. **序列化**: XStream 可以将Java对象转换成XML字符串,这在需要持久化数据或者在网络间传输数据时非常有用。通过`toXML()`方法,你可以轻松地将任何Java对象转换为XML格式。 2. **反序列化**: 相反,XStream也能...

    xstream-1.3.1.zip

    我们来深入探讨XStream的核心功能和使用方法。 首先,XStream的核心理念是提供一种直观的方式来映射Java对象和XML结构。通过简单的配置,XStream可以自动处理JavaBean到XML的转换,无需编写大量的XML解析代码。对于...

    XStream+1.3(xstream).CHM

    在实际使用中,`xstream-1.3.1.jar`文件是XStream的库文件,包含了所有必要的类和方法,可以直接导入到Java项目中使用。为了更好地理解和利用XStream,开发者应深入研究其API文档,学习如何配置转换器,处理嵌套的...

Global site tag (gtag.js) - Google Analytics