【问题标题】:Convert List<Object> to XML将 List<Object> 转换为 XML
【发布时间】:2012-05-27 13:39:07
【问题描述】:

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

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

如果我有一个数据表,这会很容易,因为数据表有方法可以从中获取 XML。但是如何使用对象列表。

我完全理解,如果我的 List 来自 WCF,它会被正确序列化。但是我到底需要做什么。

【问题讨论】:

    标签: c# sql xml wcf stored-procedures


    【解决方案1】:

    IMO,请查看 Controlling XML Serialization with AttributesXmlSerializer 类,并可能创建与您的 CustomClass 平行的容器类。虽然List&lt;&gt; 不能被默认的 XML 序列化程序自动序列化,但数组可以。

    【讨论】:

      【解决方案2】:

      有两种方法:使用XmlSerializerDataContractSerializer

      【讨论】:

        【解决方案3】:

        将列表转换为 xml 的代码:列表名称 GridDetails

         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;
            }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多