Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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/13.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/unity3d/4.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
.net XML-根级别的数据无效_.net_Xml_Visual Studio_Xsd_Byte Order Mark - Fatal编程技术网

.net XML-根级别的数据无效

.net XML-根级别的数据无效,.net,xml,visual-studio,xsd,byte-order-mark,.net,Xml,Visual Studio,Xsd,Byte Order Mark,我有一个用UTF-8编码的XSD文件,我运行它的任何文本编辑器都不会在文件的开头显示任何字符,但是当我在Visual Studio的调试器中调出它时,我清楚地看到文件前面有一个空框 我还得到一个错误: 根级别的数据无效。第1行,位置1。 有人知道这是什么吗 更新:编辑文章以限定文件类型。这是一个由微软的XSD创建者创建的XSD文件。事实证明,答案是我看到的是一个字符,这个字符告诉加载文档的任何人它的编码。在我的例子中,它是用utf-8编码的,因此相应的BOM是EF-BB-BF,如下所示。要删

我有一个用UTF-8编码的XSD文件,我运行它的任何文本编辑器都不会在文件的开头显示任何字符,但是当我在Visual Studio的调试器中调出它时,我清楚地看到文件前面有一个空框

我还得到一个错误:

根级别的数据无效。第1行,位置1。

有人知道这是什么吗


更新:编辑文章以限定文件类型。这是一个由微软的XSD创建者创建的XSD文件。

事实证明,答案是我看到的是一个字符,这个字符告诉加载文档的任何人它的编码。在我的例子中,它是用utf-8编码的,因此相应的BOM是
EF-BB-BF
,如下所示。要删除它,我在中打开它并单击“在UTF-8中编码而不使用BOM”,如下所示:

要真正查看BOM表,我必须以二进制模式打开它:,并进行了一次测试

我花了大约8个小时才找到原因,所以我想我应该和大家分享一下


更新:如果我读过Joel Spolsky的博文:,那么我可能就没有这个问题了

以下是使用vim的方法:

# vim file.xml
:set nobomb
:wq