Java:对XML进行序列化/反序列化,而不是二进制

Java:对XML进行序列化/反序列化,而不是二进制,java,serialization,xml-serialization,Java,Serialization,Xml Serialization,我有一组复杂的数据模型,目前实现了java.io.Serializable,我已经成功地使用ObjectOutputStream和ObjectInputStream对它们进行了序列化和反序列化 但是,结果是二进制文件(正如预期的那样),我想知道Java是否支持以与非二进制格式(如XML)相同的方式进行序列化和反序列化 我看到C#具有以下特性: 在这种情况下,性能速度/效率不是一个考虑因素。是的,Java有它,它被称为XML编码。看看 该方法与普通的序列化非常相似。此外,我建议您查看和框架。我发

我有一组复杂的数据模型,目前实现了
java.io.Serializable
,我已经成功地使用
ObjectOutputStream
ObjectInputStream
对它们进行了序列化和反序列化

但是,结果是二进制文件(正如预期的那样),我想知道Java是否支持以与非二进制格式(如XML)相同的方式进行序列化和反序列化


我看到C#具有以下特性:


在这种情况下,性能速度/效率不是一个考虑因素。

是的,Java有它,它被称为XML编码。看看


该方法与普通的序列化非常相似。

此外,我建议您查看和框架。我发现两者都很好。您可以选择使用其中一种,也可以按照Jack的建议使用XmlEncoder。

我也选择了XStream。简单的说,如果XStream的性能比XStream好得多,最坏的情况下,它的速度会快2倍。此外,对于非常大的对象图,简单的Java对象序列化优于简单的Java对象序列化。