XML – 根级别的数据无效
我有一个以UTF-8编码的XSD文件,任何运行它的文本编辑器都不会在文件的开始处显示任何字符,但是当我在Visual Studio的debugging器中将其拉出时,我清楚地看到一个空的在文件前面的框。
我也得到错误:
在根目录的数据是无效的。 1号线,位置1。
有谁知道这是什么吗?
更新:编辑的文章以限定文件的types。 这是由Microsoft的XSD创build者创build的XSD文件。
事实certificate,答案是,我所看到的是一个字节顺序标记 ,它是一个字符,告诉无论是加载文件的编码。在我的情况下,它是用utf-8编码,所以相应的BOM是EF BB BF
,如下所示。 要删除它,我用Notepad ++打开它,点击“不带BOM的UTF-8编码”,如下图所示:
。
为了真正看到物料清单,我不得不在TextPad中以二进制模式打开它,并进行了“ EF BB BF
”的Googlesearch 。
我花了大约8个小时才知道这是什么原因造成的,所以我想我会和大家分享一下。
更新 :如果我读了Joel Spolsky的博客文章: 绝对最小每个软件开发人员肯定,积极必须知道Unicode和字符集(没有借口!) ,那么我可能没有这个问题。
下面是你如何使用vim进行操作:
# vim file.xml :set nobomb :wq