XML文档中的错误(2,2)
我有一些xml文件,我试图在给定的代码中反序列化如下。
using (StreamReader srFileContent = new StreamReader(filePath)) { XmlSerializer serializer = new XmlSerializer(typeof(messageType)); messageType objMessage = (messageType)serializer.Deserialize(srFileContent); }
这里文件位于filePath不包含以下行
这就是我收到错误的原因。 在反序列化给定文件的流之前,您可以帮我如何添加此行运行时。
错误如下:
System.InvalidOperationException:XML文档中存在错误(2,2)。 —> System.InvalidOperationException:没想到。 在Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReadermessageType.Read161_message()—内部exception堆栈跟踪结束—在系统的System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader,String encodingStyle,XmlDeserializationEvents事件) CCR2BB.frmMain.BWConvertProcess_DoWork()的.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)
您将不得不查看基本exception以找出问题所在。 捕获的exception可能包含4个或更多内部exception。
例如:
try { ... } catch (Exception ex) { Console.WriteLine(ex.GetBaseException()); }
另一个问题的解决方案是:
XmlRootAttribute xRoot = new XmlRootAttribute(); xRoot.ElementName = "message"; // xRoot.Namespace = "https://www.cpandl.com"; xRoot.IsNullable = true; XmlSerializer xs = new XmlSerializer(typeof(messageType),xRoot);
也许这是解决问题的方法。 因为我的网络MSDN已关闭,所以无法为XmlRootAttribute提供更多文档。
从哪里获得“messageType”类?
如果您使用xsd.exe为xml创建了xsd,然后使用xsd创建了此类。
然后你的项目将有两个包含这个类的文件。
通过删除此designer.cs文件,该文件具有从DataSet
派生的类,我能够解决此错误。
上述就是C#学习教程:XML文档中的错误(2,2)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/959282.html