在讨论这个问题之前,我知道还有另一个问题听起来与我的完全一样。但是,我尝试过该解决方案(使用 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 编码 - 在最新的 notepad++ 版本中,没有“以无 BOM 的 UTF-8 编码”选项,因为 UTF-8 与无 BOM 的 UTF-8 相同。
有谁知道可能是什么原因吗?或者我做错了什么/忘记了什么? :/
最佳答案
您收到错误,因为 .LoadXml()
方法需要一个包含 XML 数据 的字符串参数,而不是 XML 文件的位置.如果要加载 XML 文件,则需要使用 .Load()
方法,而不是 .LoadXml()
方法。
关于c# - XmlException : Text node cannot appear in this state. 第 1 行,位置 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33331829/