【发布时间】:2018-08-30 22:34:08
【问题描述】:
我有以下反序列化函数(代码 sn-p)将 XML 转换为 Object。但是,我需要捕捉错误,它似乎默默地失败了。我想知道什么时候有 XML 到对象不匹配。它没有抛出任何错误或异常,它只是省略了值。 XmlDeserializationEvents e 存在但充满了空值。
string Str_Response = Utilities.PostToURL(URL, XML_Request);
TextReader Txt_Reader = new StringReader(Str_Response);
XmlReaderSettings XML_Settings = new XmlReaderSettings();
XmlReader Xml_Reader = XmlReader.Create(Txt_Reader, XML_Settings, (string)null);
var deserializer = new XmlSerializer(typeof(UPS.TrackResponse));
XmlDeserializationEvents e = new XmlDeserializationEvents();
UPS.TrackResponse Response = (UPS.TrackResponse)deserializer.Deserialize(Xml_Reader, e);
【问题讨论】:
-
只是阅读文档,我猜您需要将事件处理程序添加到
XmlDeserializationEventsdocs.microsoft.com/en-us/dotnet/api/… 您也可以省略 events 参数并使用InvalidOperationException执行 try/catch 并查看它那样
标签: c# xml deserialization