将列表<对象>转换为 XML

本文关键字:转换 XML 对象 列表 | 更新日期: 2023-09-27 18:35:31

我有一个非常简单的应用程序。MainUI 具有 CustomClass 列表。我将此列表传递给 WCF 服务。WCF 服务还需要将这些对象保存在数据库中。

我在我们的 sql 存储过程中使用 Open XML 以获得更好的性能。但是我不知道如何将我的对象列表转换为XML。

如果我有一个数据表,

那会很容易,因为数据表有方法从中获取 XML。但是如何使用对象列表。

我完全理解,如果我的列表通过 WCF,它将正确序列化。但是我到底需要做什么。

将列表<对象>转换为 XML

IMO,请查看使用属性和 XmlSerializer 类控制 XML 序列化,并可能创建与自定义类并行的容器类。虽然List<>不能由默认的 XML 序列化程序自动序列化,但数组可以。

Thera有两种方式:使用XmlSerializer或DataContractSerializer。

将列表转换为 xml 的代码:列表名称网格详细信息

 void ConvertToXml()
        {
            string xmlString = ConvertObjectToXMLString(GridDetails);
            // Save C# class object into Xml file
            XElement xElement = XElement.Parse(xmlString);
            xElement.Save(@"C:'Users'user'Downloads'userDetail.xml");
        }

 static string ConvertObjectToXMLString(object classObject)
    {
        string xmlString = null;
        XmlSerializer xmlSerializer = new XmlSerializer(classObject.GetType());
        using (MemoryStream memoryStream = new MemoryStream())
        {
            xmlSerializer.Serialize(memoryStream, classObject);
            memoryStream.Position = 0;
            xmlString = new StreamReader(memoryStream).ReadToEnd();
        }
        return xmlString;
    }