我希望序列化一个复杂的对象,以便从Web服务请求返回。这是我的假设。我需要在返回到调用客户端之前将序列化(放气)对象放在XML文档中(而不是字符串)。我“相信”我正在反序列化它只是将它加载到XMLDocument中的问题。但是我可能错了,反序列化可能是错误的,因此XmlDocument爆炸了。这是代码:
我的复杂对象:
namespace ABCTest
{
[XmlRoot("TapRoot")]
public class UserDetails
{
[XmlElement]
public String AccountName { get; set; }
}
}
我的序列化代码:
FYi: UsrDtls == List<UserDetails>
XmlSerializer Obj2XML = new XmlSerializer(UsrDtls.GetType());
Stream strWriter = Stream.Null;
XmlWriter XWriter = new XmlTextWriter(strWriter, Encoding.Unicode);
XmlDocument XDoc = new XmlDocument();
Obj2XML.Serialize(XWriter, lst_Exercises);
string abc = Obj2XML.ToString(); //debugging line to attempt to browse the obj2xml object
XDoc.LoadXml(abc);
return XDoc;
答案 0 :(得分:1)
我不知道你在哪里学习了.NET中的Web服务。只需返回对象。 Web服务基础架构将负责处理它。
您没有说明您使用的是WCF服务还是旧版ASMX服务。 ASMX服务不应用于新开发。
如果您在“退回”时仍然遇到问题,请发布您收到的任何例外情况。