C# 转换列表<;对象>;到XML
我有一个非常简单的应用程序。MainUI有CustomClass的列表。我将此列表传递给WCF服务。WCF服务还需要将这些对象保存在数据库中 我在sql存储过程中使用开放XML以获得更好的性能。但我不知道如何将对象列表转换为XML 如果我有一个datatable,这将很容易,因为datatables有方法从中获取XML。但如何用于对象列表C# 转换列表<;对象>;到XML,c#,sql,xml,wcf,stored-procedures,C#,Sql,Xml,Wcf,Stored Procedures,我有一个非常简单的应用程序。MainUI有CustomClass的列表。我将此列表传递给WCF服务。WCF服务还需要将这些对象保存在数据库中 我在sql存储过程中使用开放XML以获得更好的性能。但我不知道如何将对象列表转换为XML 如果我有一个datatable,这将很容易,因为datatables有方法从中获取XML。但如何用于对象列表 我完全理解,如果我的列表通过WCF,它将被正确序列化。但是我到底需要做什么呢。有两种方法:使用或。IMO,查看和类,并可能创建与CustomClass并行的容
我完全理解,如果我的列表通过WCF,它将被正确序列化。但是我到底需要做什么呢。有两种方法:使用或。IMO,查看和类,并可能创建与CustomClass并行的容器类。虽然默认XML序列化程序无法自动序列化
List
,但可以使用数组。将列表转换为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;
}