sdo*_*oca 0 java xml-serialization
我正在寻找一种将 Java 对象序列化为 XML 以供 RESTful Web 服务使用的方法。我没有 XSD。
我看过以下内容:
JAXB - 相当重的类需要注释,还有一个 ObjectFactory 类和/或一个 jaxb.index 文件
简单 - 需要注释但不需要其他配置类/文件。不幸的是它不能序列化集合。
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;
}
}
Run Code Online (Sandbox Code Playgroud)