Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XmlException文本节点不能在此状态下出现(布尔notWhiteSpace)_C#_Xml_Unity3d_Mono_Linq To Xml - Fatal编程技术网

C# XmlException文本节点不能在此状态下出现(布尔notWhiteSpace)

C# XmlException文本节点不能在此状态下出现(布尔notWhiteSpace),c#,xml,unity3d,mono,linq-to-xml,C#,Xml,Unity3d,Mono,Linq To Xml,因此,当我尝试从文件创建XDocument时,会出现此错误,但问题是,它只在大约20%的时间内出现,但我的程序需要调用此函数,该函数每20秒创建一次XDocument,因此这是修复此错误的关键 这是我的函数从文件加载到XDocument的一个小片段 //Read all patterns DirectoryInfo directory = new DirectoryInfo ("Assets/_Scripts/Items/Orb Patterns"); orbPatter

因此,当我尝试从文件创建XDocument时,会出现此错误,但问题是,它只在大约20%的时间内出现,但我的程序需要调用此函数,该函数每20秒创建一次XDocument,因此这是修复此错误的关键

这是我的函数从文件加载到XDocument的一个小片段

    //Read all patterns
    DirectoryInfo directory = new DirectoryInfo ("Assets/_Scripts/Items/Orb Patterns");
    orbPatterns = directory.GetFiles ().Cast<FileInfo> ().ToList ();
    //Pick a random pattern
    XDocument xmlDoc = XDocument.Load (orbPatterns [Random.Range (0, orbPatterns.Count - 1)].FullName);
正如我所说的,它在80%的时间内都能正常工作,另外20%的时间它会抛出异常。然而,这仅仅意味着函数不会在当前迭代中运行。20秒后,它会再试一次,通常会正常工作

我的XML文档应该很好,下面是一个示例

<?xml version="1.0" encoding="UTF-8"?>
<table>
<cell column="1" row="1">Red</cell>
<cell column="1" row="2">Red</cell>
<cell column="1" row="3">Red</cell>
<cell column="1" row="4">Red</cell>
<cell column="2" row="1">Red</cell>
<cell column="2" row="2">Blue</cell>
<cell column="2" row="3">Blue</cell>
<cell column="2" row="4">Red</cell>
<cell column="3" row="1">Red</cell>
<cell column="3" row="2">Multi</cell>
<cell column="3" row="3">Multi</cell>
<cell column="3" row="4">Red</cell>
<cell column="4" row="1">Red</cell>
<cell column="4" row="2">Blue</cell>
<cell column="4" row="3">Blue</cell>
<cell column="4" row="4">Red</cell>
</table>

红色
红色
红色
红色
红色
蓝色
蓝色
红色
红色
多个
多个
红色
红色
蓝色
蓝色
红色

我读过类似的问题,它们似乎与编码有关,并且编码时没有BOM,我已经尝试了所有这些,但问题仍然存在。我认为,如果它大部分时间都能运行,那么编码就不应该成为问题。有什么想法吗?

我认为可能是XML编码类型(本例为UTF-8)导致了错误。解决方案是将文件转换为ascii(删除BOM),或在没有BOM的情况下以UTF-8编码


看一看这个问题,这个问题同样需要帮助。

我已经读过那篇文章了。我在问题的最后说,我尝试在没有BOM的情况下对其进行编码,但仍然得到相同的结果。我也试过UTF-16。
<?xml version="1.0" encoding="UTF-8"?>
<table>
<cell column="1" row="1">Red</cell>
<cell column="1" row="2">Red</cell>
<cell column="1" row="3">Red</cell>
<cell column="1" row="4">Red</cell>
<cell column="2" row="1">Red</cell>
<cell column="2" row="2">Blue</cell>
<cell column="2" row="3">Blue</cell>
<cell column="2" row="4">Red</cell>
<cell column="3" row="1">Red</cell>
<cell column="3" row="2">Multi</cell>
<cell column="3" row="3">Multi</cell>
<cell column="3" row="4">Red</cell>
<cell column="4" row="1">Red</cell>
<cell column="4" row="2">Blue</cell>
<cell column="4" row="3">Blue</cell>
<cell column="4" row="4">Red</cell>
</table>