为什么出现错误:XML 文档中的错误 (0, 0)?



我的代码中有错误。我想反序列化不同的XML文件并在TextBox中打开它们。
我遇到的问题是当我获取文件的路径时,我认为这就是错误所在,因为您需要一个确切的文件路径(例如(:

FileStream FS = new FileStream("example.analy", FileMode.Open,  FileAccess.Read);

但我用这个替换了它:

FileStream FS = new FileStream (openFileDialog1.FileName, FileMode.Open, FileAccess.Read);

读取在打开文件对话框中选择的文件。
这是我的完整代码:

XmlSerializer XS = new XmlSerializer(typeof(Reminders.Information));
FileStream FS = new FileStream (openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
Information Info = (information)XS.Deserialize();
Settings.Default.Counter++;
Settings.Default.Save();

问题是当我尝试打开文件时,出现以下错误:

System.InvalidOperationException:"XML 文档中的错误 (0, 0("。 内部异常 Xml异常
:缺少根元素。

您需要将文件流放入 XML 读取器中,然后可以对其进行序列化 - https://msdn.microsoft.com/en-us/library/tz8csy73(v=vs.110(.aspx

// Create an instance of the XmlSerializer specifying type and namespace.
XmlSerializer serializer = new
XmlSerializer(typeof(OrderedItem));
// A FileStream is needed to read the XML document.
FileStream fs = new FileStream(filename, FileMode.Open);
XmlReader reader = XmlReader.Create(fs);
// Declare an object variable of the type to be deserialized.
OrderedItem i;
// Use the Deserialize method to restore the object's state.
i = (OrderedItem)serializer.Deserialize(reader);
fs.Close();

据我所知,您正在尝试反序列化任何内容...没有什么不是有效的 XML 文档

最新更新