我有世界上最简单的代码,
using (XmlWriter writer = XmlWriter.Create(stringWriter))
{
writer.WriteStartDocument();
writer.WriteStartElement("Board");
writer.WriteAttributeString("Rows", mRows.ToString());
writer.WriteAttributeString("Columns", mColumns.ToString());
writer.WriteEndElement();
writer.WriteEndDocument();
}
TextWriter writer1 = new StreamWriter(path);
writer1.Write(stringWriter.toString());
writer1.Close();
然后我将它写入一个 txt 文件,如下所示:
<?xml version="1.0" encoding="utf-16"?>
<Board Rows="30" Columns="50">
</Board>
然后我执行以下操作:
FileStream str = new FileStream(s.FileName, FileMode.Open);
using(XmlReader reader = XmlReader.Create(stream))
{
reader.Read();
}
它抛出一个异常:
“没有 Unicode 字节顺序标记。无法切换到 Unicode。”
我搜索了异常并找到了几种解决方法,但我不明白为什么我需要解决方法,我只想阅读我写的 xml。有人可以解释一下到底是什么问题吗?我应该在 xml 中写一些不同的东西吗?
对此最简单的解决方案是什么?