第一步,先将类设置为可序列化xml
如下所示
/// <summary>
/// 代理商
/// </summary>
[XmlRoot(ElementName = "Agent")]
public class YyhAgent
{
[XmlElement("AgentId")]
public string AgentId { get; set; }
[XmlElement("AgentName")]
public string AgentName { get; set; }
}
/// <summary>
/// 返回的代理商列表格式
/// </summary>
[XmlRoot("Root")]
public class YyhAgents
{
[XmlElement(ElementName = "ManufacturerId")]
public string ManufacturerId { get; set; }
[XmlElement(ElementName = "RecCount")]
public string RecCount { get; set; }
[XmlElement(ElementName = "PageSize")]
public string PageSize { get; set; }
[XmlElement(ElementName = "PageIndex")]
public string PageIndex { get; set; }
[XmlElement(typeof(List<YyhAgent>))]
[XmlElement("AgentList")]
public List<YyhAgent> lst { get; set; }
}
第二步,调用如下方法即可
public static XmlDataDocument SerialiazerXmlDataDoc(Type oType, object oData)
{
XmlSerializer oXmlSerializer = new XmlSerializer(oType); //为序列化器指定序列化类型
MemoryStream oMemStream = new MemoryStream();
oXmlSerializer.Serialize(oMemStream, oData); //为序列化器指定要被序列化的数据
XmlDataDocument oXmlDataDoc = new XmlDataDocument();
oXmlDataDoc.LoadXml(System.Text.Encoding.UTF8.GetString(oMemStream.ToArray()));
//将序列化的结果,转换为字符串加载进xmldatadocument对象
return oXmlDataDoc;
}