【问题标题】:Xml Serializer in java [duplicate]java中的Xml序列化器[重复]
【发布时间】:2013-01-26 17:54:18
【问题描述】:

可能重复:
What is Java alternative for .NET’s XmlSerializer

XmlSerializer 类在 c# 中究竟做了什么,如何在 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();
    }
}

【问题讨论】:

标签: c# java


【解决方案1】:

使用Java Architecture for XML Binding (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

【讨论】:

  • 谢谢,它运行良好
【解决方案2】:

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

我正在使用这个库:xstream

【讨论】:

  • 非常感谢,我都试过了,这是最好的方法
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多