在我遇到这个问题之前,我知道还有另一个问题与我的问题完全相同。但是,我尝试了这个解决方案(使用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相同。
有谁知道原因可能是什么?或者我做错了什么/遗忘了什么? :/
答案 0 :(得分:3)
您收到错误,因为.LoadXml()
方法需要包含XML 数据的字符串参数,而不是XML 文件的位置。如果要加载XML文件,则需要使用.Load()
方法,而不是.LoadXml()
方法。