我已经在c#中创建了一个对象(复杂对象),我希望通过XML从API发送响应。如何将值设置为复杂节点并以适当的XML序列化。
下面是我的代码。
我要转换的C#对象
[XmlRoot][可序列化]公共课回应{私人Response headerField;
private Response bodyField;
/// <remarks/>
public Response Header
{
get
{
return this.headerField;
}
set
{
this.headerField = value;
}
}
/// <remarks/>
public Response Body
{
get
{
return this.bodyField;
}
set
{
this.bodyField = value;
}
}
}
公共类标题{公共字符串ACCT_NUM {get;组; }公用字符串NIC {get;组; }公共字符串requestId {get;组; }公共字符串BankId {get;组; }}
公共类机构{公开字串STATUS {get;组; }公共正文错误{get;组; }}
公共类错误{公用字符串ERRORCODE {get;组; }
/// <remarks/>
public string ERRORDESC { get; set; }
/// <remarks/>
public string ERRORTYPE { get; set; }
}
通过序列化代码,我将值设置为字段并发送。
using(var stream = new MemoryStream()){XmlSerializer xmlSer = newXmlSerializer(typeof(Response)); xmlSer.Serialize(stream,new Response(){Header =,Body = body,}); stream.Position = 0; using(var reader = newStreamReader(stream,Encoding.UTF8)){string value = reader.ReadToEnd();}}
请在这里指导我如何实现以XML序列化对象并将其作为API的响应发送。
您可以尝试这个
public string ObjectToXML()
{
using(var stringwriter = new System.IO.StringWriter())
{
var serializer = new XmlSerializer(this.GetType());
serializer.Serialize(stringwriter, this);
return stringwriter.ToString();
}
}