我试图读取XML文件并得到XmlException:"根级别的数据无效。第1行,第1位和第34位。
以下是XML文件的内容:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<root>
<Materials override="TRUE">
<Material name="" diffuse="" />
</Materials>
</root>
这是我的代码:
using (FileStream fstr = File.OpenRead(sFullPath))
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Document;
fstr.Position = 0;
using (XmlReader xmlReader = XmlReader.Create(fstr, settings))
{
while (xmlReader.Read())
{
}
}
}
调用Read()会引发异常。
我一直在不同的网站上搜索答案,也看过MSDN,但无法解决我的问题。
我的代码取自http://www.codeproject.com/Articles/318876/Using-the-XmlReader-class-with-Csharp,但我也尝试了不同的代码段。
我还在Notepad ++上检查了我的文件编码,尝试了没有BOM的UTF-8和UTF-8,没有做出改变。
我已经坚持了几天,而且我已经没想完了。 谢谢你的帮助!
编辑:删除&#34; ...&#34;在片段中,以避免混淆人。我也试过了:
using (XmlTextReader xmlReader = new XmlTextReader(fstr))
似乎xmlReader.Encoding返回null,而我的文件被编码为UTF-8。