我有一个班级列表,我想知道如何将其序列化为XElement
。
例如我有一个班级:
[DataContract]
public class Order
{
[DataMember]
public int OrderId { get; set; }
[DataMember]
public string OrderTitle { get; set; }
[DataMember]
public string DestinationAddress { get; set; }
[DataMember]
public string PhoneNumber { get; set; }
}
现在我有一个上面的类列表,我想知道如何序列化它?
答案 0 :(得分:2)
enter var templates = from t in response.Descendants("OrderList")
select new
{
orderId = t.Element("OrderId").Value.ToString(),
orderTitle = t.Element("OrderTitle").Value.ToString(),
DestinationAddress = t.Element("DestinationAddress").Value.ToString(),
PhoneNumber = t.Element("PhoneNumber").Value.ToString()
};code here
按上述方式执行arrayOfNotaryOrderDocumentsSet.ToList()
作为您的订单列表,您可以根据需要选择节点名称。我给了Order
。
答案 1 :(得分:1)
构建列表List<Order>
..使用Serializator类(来自代码项目)
public class Serializator
{
public static string SerializeLinqList<T>(List<T> list)
{
DataContractSerializer dcs = new DataContractSerializer(typeof(List<T>));
StringBuilder sb = new StringBuilder();
using (XmlWriter writer = XmlWriter.Create(sb))
{
dcs.WriteObject(writer, list);
}
return sb.ToString();
}
public static List<T> DeserializeLinqList<T>(string xml)
{
List<T> list;
DataContractSerializer dcs = new DataContractSerializer(typeof(List<T>));
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
list = dcs.ReadObject(reader) as List<T>;
}
if (list == null) list = new List<T>();
return list;
}
}