`
flowercat
  • 浏览: 362268 次
社区版块
存档分类
最新评论

使用xStream实现xml与java对象之间的转换

阅读更多
    在研究elchat的时候发现它使用了xStream将聊天信息保存到xml文件中。查看了他的源代码,发现使用起来比Digester方便快捷多了。以后保存对象又多了一件武器了
elchat中读取xml转java对象以及持久化java对象到xml文件代码如下:
static MessageDatabase load(String persistFile) {
        MessageDatabase messageDatabase = null;
        Reader reader = null;

        try {
            reader = new FileReader(persistFile);
            XStream xstream = new XStream(new JDomDriver());
            messageDatabase = (MessageDatabase) xstream.fromXML(reader);

            // for upgrade
            if (messageDatabase != null) {
                messageDatabase.upgrade();
            }
        }
        catch (FileNotFoundException ex) {
            ;
        }
        finally {
            if (reader != null) {
                try {
                    reader.close();
                }
                catch (IOException ex) {
                    log.warn("Exception when closing reader", ex);
                }
            }
        }

        if (messageDatabase == null) {
            messageDatabase = new MessageDatabase();
            messageDatabase.setMessages(new LinkedList());
            messageDatabase.setStickyMessages(new LinkedList());
        }

        messageDatabase.persistFile = persistFile;

        return messageDatabase;
    }
    void persist() {
        FileWriter writer = null;
        try {
            writer = new FileWriter(persistFile);
            XStream xstream = new XStream();
            xstream.toXML(this, writer);
        }
        catch (IOException ex) {
            log.warn("fail to persist " + persistFile, ex);
        }
        finally {
            if (writer != null) {
                try {
                    writer.close();
                }
                catch (IOException ex) {
                    log.warn("Exception when closing writer", ex);
                }
            }
        }
    }


xStream详见http://xstream.codehaus.org/
分享到:
评论
3 楼 dingwenming 2009-03-18  
2 楼 yza0088 2008-05-27  
不错,正好用的上.
1 楼 babymouse 2007-06-07  
请教下楼主~elchat里面的粘性信息我不是很理解~
你有没有研究?

相关推荐

    xStream 实现xml与 java对象的转换

    【标题】:“xStream 实现xml与 java对象的转换” 在Java开发中,XML作为一种常见的数据交换格式,常用于存储和传输数据。然而,XML与Java对象之间的转换并不总是直观和简便的。这时,xStream库应运而生,它提供了...

    使用XStream是实现XML与Java对象的转换(5)--Object Stream

    XStream是一个强大的库,它使得XML与Java对象之间的转换变得简单。在这个主题中,我们将深入探讨如何使用XStream进行XML与Java对象的互换,并了解其工作原理。 首先,XStream是一个开源库,由Johannes Leutenegger...

    xstream轻松解析xml到java对象

    以下是一个简单的示例,演示如何使用XStream进行XML与Java对象的转换: ```java import com.thoughtworks.xstream.XStream; class User { private String name; private int age; // getters and setters ...

    使用XStream是实现XML与Java对象的转换(3)--注解

    在“xstream使用3”这个压缩包文件中,可能包含了使用XStream注解实现XML与Java对象转换的示例代码、测试用例以及相关的说明文档。通过对这些文件的深入学习,开发者可以更好地理解如何在实际项目中运用XStream的...

    使用XStream是实现XML与Java对象的转换(6)--持久化

    这篇博客“使用XStream是实现XML与Java对象的转换(6)--持久化”深入探讨了如何利用XStream进行持久化操作,使得对象状态能够持久保存到磁盘,同时也能够从XML文档中恢复。 首先,我们需要理解XStream的核心概念。...

    好用的xStream XML和JAVA对象互相转换的简单示例

    XStream是一个轻量级、高性能的库,能够将Java对象序列化为XML,同时也能将XML反序列化回Java对象,实现XML和Java对象的互相转换。 首先,我们需要引入XStream库。在给定的描述中提到了两个依赖文件:xstream-1.3.1...

    使用XStream是实现XML与Java对象的转换(4)--转换器

    XStream是一个强大的库,专门用于XML与Java对象之间的互相转换。这篇博文将深入探讨如何利用XStream的转换器功能来优化这一过程。 XStream的核心原理是通过反射机制自动将Java对象映射到XML结构,并反之亦然。然而...

    XStream在Java对象和XML之间相互转换

    XStream是一款强大的Java库,主要用于将Java对象序列...在实际开发中,XStream的简单性和灵活性使其成为处理Java对象与XML数据之间转换的首选工具。通过合理配置和使用,可以极大地提高开发效率并简化数据处理流程。

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

    在`xmlAnalysis`文件夹中,可能包含了一个简单的Java程序,演示了如何使用DOM、SAX、StAX和XStream解析XML文件,并展示了XStream如何在JavaBean与XML之间进行转换。你可以运行这些代码,观察输出结果,以加深理解。...

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

    本篇将详细介绍XStream如何处理XML与Java对象的相互转换,以及如何处理List、Map等集合类型的数据。 首先,XStream是一个强大的库,它由Pete Gyford开发,用于将Java对象序列化为XML,同时也能将XML反序列化为Java...

    XStream测试Demo-xml与java对象的相互转换

    这个"XStream测试Demo-xml与java对象的相互转换"是一个实例,展示了如何利用XStream进行这两种操作。在本文中,我们将深入探讨XStream的工作原理、使用方法以及其在实际开发中的应用。 首先,XStream的核心功能是...

    Java用xStream拼接xml

    xStream简化了Java对象与XML之间的转换,使得在处理XML数据时,开发者无需关注底层的XML构造细节。在Web Service接口对接时,如果需要传递XML内容,使用xStream可以高效、便捷地完成XML的拼接。通过合理配置和使用,...

    xstream实现xml和java bean 互相转换

    它可以将Java对象转换为XML文档,也可以将XML文档转换为Java对象。 pom引用 <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream <version>1.4.20 实体类和测试类详见博客 ...

    XStream解析xml 转换成对象案例

    XStream通过映射XML节点到Java类的字段来实现对象的序列化和反序列化。这意味着你需要定义一个Java类,该类的字段对应于XML文档中的元素。XStream会自动处理这个映射过程,无需编写复杂的DOM或SAX解析代码。 下面是...

    Xstream_java对象和xml的互相转换

    XStream 的核心概念是通过自动映射 Java 类和 XML 节点来实现对象和 XML 的转换。它通过反射和自定义转换器机制来完成这一过程。默认情况下,XStream 可以处理大多数标准的 Java 类型,包括基本类型、集合、Map 等。...

    xstream对象与xml转换

    总之,XStream是一个强大的工具,可以帮助开发者轻松地在Java对象和XML之间进行转换。其简洁的API和自动类型转换能力使得它在处理序列化和反序列化任务时非常高效。无论你是新手还是经验丰富的开发者,了解并掌握...

    使用xstream解析xml,xml与pojo的双向转化,完整的java 工程

    通过这个工程,开发者可以学习并实践XStream的使用,了解XML与Java对象之间的转化机制。同时,由于包含了测试类和所需jar包,可以直接运行和调试,这对于初学者或者需要快速实现XML处理功能的开发者来说,是一个非常...

Global site tag (gtag.js) - Google Analytics