XmlException:Text节点不能以此状态出现。第1行,第1位

时间:2015-10-25 16:08:29

标签: c# xml encoding utf-8

在我遇到这个问题之前,我知道还有另一个问题与我的问题完全相同。但是,我尝试了这个解决方案(使用Notepad ++将xml文件编码为UTF-8(无BOM))并且它不起作用。

XmlDocument namesDoc = new XmlDocument();
XmlDocument factionsDoc = new XmlDocument();
namesDoc.LoadXml(Application.persistentDataPath + "/names.xml");
factionsDoc.LoadXml(Application.persistentDataPath + "/factions.xml");

以上是我遇到问题的代码。我不确定是什么问题。

<?xml version="1.0"  encoding="UTF-8"?>
<factions>
        <major id="0">
...

上面是XML文件的一部分(它的开头 - names.xml也是相同的,除了它没有'id'属性)。这些文件都以UTF-8编码 - 在最新的记事本++版本中,没有选项“UTF-8无BOM编码”,UTF-8与没有BOM的UTF-8相同。

有谁知道原因可能是什么?或者我做错了什么/遗忘了什么? :/

1 个答案:

答案 0 :(得分:3)

您收到错误,因为.LoadXml()方法需要包含XML 数据的字符串参数,而不是XML 文件的位置。如果要加载XML文件,则需要使用.Load()方法,而不是.LoadXml()方法。