【发布时间】:2010-12-15 20:48:03
【问题描述】:
我现在正在使用下面的代码 sn-p 来反序列化 XML 文档...
[WebMethod]
public XmlDocument OrderDocument(XmlDocument xmlDoc)
{
XmlSerializer serializer = new XmlSerializer(typeof(sendOrder.Order));
string xmlString = xmlDoc.OuterXml.ToString();
byte[] buffer = ASCIIEncoding.UTF8.GetBytes(xmlString);
MemoryStream ms = new MemoryStream(buffer);
sendOrder.Order orderDoc = (sendOrder.Order)serializer.Deserialize(ms);
sendOrder.WebService_ConsureWebService ws =
new sendOrder.WebService_ConsureWebService();
ws.Operation_1(ref orderDoc);
return xmlDoc;
}
谁能告诉我代码有什么问题,因为错误表明 XML 文档中存在错误,但是如果您检查我正在传递的文档,甚至 Order 对象也具有相同的结构和命名空间
XML 文档中存在错误(1, 2)。 ---> System.InvalidOperationException: http://ConsureWebService.Order'> 没想到。
【问题讨论】:
-
请在编辑器中突出显示您的代码部分,然后单击编辑器工具栏上的“代码”按钮 (101 010),或按键盘上的 Ctrl-K 格式化为代码(和获取语法高亮和所有)
-
如果在GetBytes()中设置断点,那么xmlString的值是多少?
-
你不能只使用
Order作为你的网络方法的参数吗? -
已更新以反映您添加的 cmets(示例);现在可以工作了。
-
如果你不能更新源(包括[XmlRoot]),我可以告诉你如何自定义
XmlSerializer;如果有帮助,请添加评论(对我的回复)。
标签: c# xml-serialization serialization web-services