此反序列化XML是字符串:故障在.NET
string incomingOrdreXML = @"<GetOrderStatus xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.datacontract.org/2004/07/OrderStatusConsole""><AccountID>5</AccountID><Batch></Batch><Date></Date><OrderNumber></OrderNumber><Password></Password><Sequence></Sequence><StatusCode></StatusCode><Test></Test><TrackingID></TrackingID></GetOrderStatus>";
这是类:
public class GetOrderStatus
{
public string AccountID { get; set; }
public string Password { get; set; }
public string Batch { get; set; }
public string Sequence { get; set; }
public string Test { get; set; }
public string Date { get; set; }
public string OrderNumber { get; set; }
public string StatusCode { get; set; }
public string TrackingID { get; set; }
}
这是反串行化代码:
string incomingOrdreXML = @"<GetOrderStatus xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.datacontract.org/2004/07/OrderStatusConsole""><AccountID>5</AccountID><Batch></Batch><Date></Date><OrderNumber></OrderNumber><Password></Password><Sequence></Sequence><StatusCode></StatusCode><Test></Test><TrackingID></TrackingID></GetOrderStatus>";
var reader = new StringReader(incomingOrdreXML);
XmlSerializer serializer = new XmlSerializer(typeof(GetOrderStatus));
var instance = (GetOrderStatus)serializer.Deserialize(reader);
失败在最后一行,说
{"<GetOrderStatus xmlns='http://schemas.datacontract.org/2004/07/OrderStatusConsole'> was not expected."}
这条线将根据谁发送这个XML而改变。这意味着如果发件人是OrderStatusConsole,那么如果发件人是Jeff,那么它就像上面那样,那么它最终会有Jeff。
任何线索?
在此先感谢。