0

可能重复:
.NET 的 XmlSerializer 的 Java 替代品是什么

该类在 c# 中到底做了什么XmlSerializer,我如何在 java 中使用相同的功能?

以下只是c#中的一部分代码(java中可以有这个方法吗?)

public static List<PinglishString> LoadPinglishStrings(string filePath)
{
    var serializer = new XmlSerializer(typeof(List<ListOfString>));
    TextReader stream = null;
    try
    {
        stream = new StreamReader(File.Open(filePath, FileMode.Open, FileAccess.Read), Encoding.UTF8);
        List<ListOfString> list = serializer.Deserialize(stream) as List<ListOfString> ?? new List<ListOfString>();
        return list;
    }
    finally
    {
        if (stream != null)
            stream.Close();
    }
}
4

3 回答 3

1

使用Java 架构进行 XML 绑定 (JAXB)

例子:

    // create JAXB context and instantiate marshaller
    JAXBContext context = JAXBContext.newInstance(SomeClass.class);
    Marshaller m = context.createMarshaller();
    m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

    // Write to System.out
    m.marshal(instanceOfSomeClass, System.out);

Marshaller --> XMLSerializer

于 2013-01-26T09:48:50.377 回答
0

XmlSerializers将对象序列化和反序列化到 XML 文档中和从 XML 文档中提取。这使您能够控制如何将对象编码为 XML。

对于 Java 发现了这个xerces-J-API

于 2013-01-26T09:54:15.897 回答
0

XmlSerializer:在 XML 文件中保存对象列表。XmlDeSerializer - 做相反的事情

我正在使用这个库:xstream

于 2013-01-26T09:43:34.437 回答