我有一个Web服务,它有一个接受id号作为参数的方法,并返回包含其个人详细信息的Object。现在我需要将Object类型的对象转换为XmlNode。如果我使用:
XmlNode xml = (XmlNode)retObj; //here retObj is of type Object
然后我没有获得带有值的节点。
请帮助我如何获得所有细节......请...我也不必使用SOAP ....所以我需要解决方案,其中不使用SOAP代码
答案 0 :(得分:2)
我假设您知道服务返回的对象结构,通常您应该将对象映射到DTO,如下所示:
public class MyObjDTO
{
public string Name { get;set;}
public string DOB { get; set; }
public string Nationaliy { get; set; }
}
然后您可以使用XMLSerializer将DTO序列化为字符串:
var dto = (MyObjDTO)retObj;
XmlSerializer serializer = new XmlSerializer(typeof(MyObjDTO));
StringWriter textWriter = new StringWriter();
serializer.Serialize(textWriter, dto);
然后通过XmlDocument获取XMLNode
var xmlString = textWriter.ToString();
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
XmlNode newNode = doc.DocumentElement;