【发布时间】:2018-06-04 04:33:38
【问题描述】:
我的代码有错误。我想反序列化不同的XML 文件并在TextBox 中打开它们。
我遇到的问题是当我获取文件的路径时,我认为这就是错误所在,因为您需要一个确切的文件路径(例如):
FileStream FS = new FileStream("example.analy", FileMode.Open, FileAccess.Read);
但我将其替换为:
FileStream FS = new FileStream (openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
读取在 openfiledialog 中选择的文件。
这是我的完整代码:
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)。' 内部异常
XmlException:缺少根元素。
【问题讨论】:
-
打开的文件里有什么?
-
@HorusKol 你的意思是 XML 文件吗?
-
是的。请发布产生错误的 XML 文件的简短示例
-
@HorusKol 你的意思是我需要用 XML 阅读器替换它而不是使用那个 XML 序列化器吗?
-
@HorusKol 另外,当我尝试放置一个 XML 阅读器时它显示错误,我想我错过了一个使用参考,但我不知道是哪个,因为我在使用 System.xml 参考。启用序列化
标签: c# xml winforms xml-serialization