我正在使用生成utf-8 XML文件XDocument.
XDocument xml_document = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement(ROOT_NAME,
new XAttribute("note", note)
)
);
...
xml_document.Save(@file_path);
Run Code Online (Sandbox Code Playgroud)
正确生成文件并使用xsd文件成功验证.
当我尝试将XML文件上传到在线服务时,该服务说我的文件是wrong at line 1; 我发现问题是由文件的第一个字节上的BOM引起的.
你知道为什么将BOM附加到文件中,如何在没有它的情况下保存文件?
如字节顺序标记维基百科文章中所述:
虽然Unicode标准允许使用UTF-8的BOM, 但它不需要或推荐它.字节顺序在UTF-8中没有意义,因此BOM仅用于将文本流或文件标识为UTF-8或者是从具有BOM的另一种格式转换的
这是一个XDocument问题还是我应该联系在线服务提供商的人员要求解析器升级?