适用于 Java 的简单 XML 序列化程序

sdo*_*oca 0 java xml-serialization

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

我看过以下内容:

  1. JAXB - 相当重的类需要注释,还有一个 ObjectFactory 类和/或一个 jaxb.in​​dex 文件

  2. 简单 - 需要注释但不需要其他配置类/文件。不幸的是它不能序列化集合。

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

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

Rom*_*eau 5

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;
    }
}
Run Code Online (Sandbox Code Playgroud)