java - 适用于 Java 的简单 XML 序列化器

标签 java xml-serialization

我正在寻找一种将 Java 对象序列化为 XML 的方法,以供 RESTful Web 服务使用。我没有 XSD。

我查看了以下内容:

  1. JAXB - 相当重,需要类以及 ObjectFactory 类和/或 jaxb.in​​dex 文件上的注释

  2. 简单 - 需要注释,但不需要其他配置类/文件。不幸的是它无法序列化 Sets。

  3. XStream - 不需要注释等,但不支持泛型

还有其他人有什么建议吗?

最佳答案

import java.beans.XMLEncoder;
import java.beans.XMLDecoder;
import java.io.*;

public class XMLSerializer {
    public static void write(Object f, String filename) throws Exception{
        XMLEncoder encoder =
           new XMLEncoder(
              new BufferedOutputStream(
                new FileOutputStream(filename)));
        encoder.writeObject(f);
        encoder.close();
    }

    public static Object read(String filename) throws Exception {
        XMLDecoder decoder =
            new XMLDecoder(new BufferedInputStream(
                new FileInputStream(filename)));
        Object o = (Object)decoder.readObject();
        decoder.close();
        return o;
    }
}

关于java - 适用于 Java 的简单 XML 序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3056896/

相关文章:

java - 在 Java 中使用 GDCM - 如何包含?

java - Java 6 中的 xerces 序列化

.net - 如何使用 .NET 控制 xml 序列化的 <?xml ?> 部分?

java - 具有多个缓存提供程序的 JCache?

java - 256bit AES/CBC/PKCS5Padding with Bouncy CaSTLe

java - Git push 没有出现在 Github 中

java - 使用 Selenium Java 启动浏览器时出现问题

c# - 序列化集合并遵守代码分析

c# - ShouldSerialize*() 与 *指定的条件序列化模式

java - 简单的 Xml 框架松散映射不起作用