有没有办法输出XDocument的内容没有BOM?使用Flash读取输出时,会导致错误。问题与XDocument和BOM(字节顺序标记)
回答
如果您使用XmlWriter编写XML,则可以将编码设置为已初始化的编码,以省略BOM。
EG:System.Text.UTF8Encoding的构造函数接受一个布尔值,指定是否要在BOM,所以:
XmlWriter writer = XmlWriter.Create("foo.xml");
writer.Settings.Encoding = new System.Text.UTF8Encoding(false);
myXDocument.WriteTo(writer);
将创建使用UTF-8编码,没有字节顺序标记的XmlWriter的。
writer.Settings.Encoding是只读的 – 2008-10-01 19:18:35
你可以在输出中使用System.Text.Encoding.Convert()就像尝试的东西,而不是我测试过的东西。
将其转换为字符串,然后自己删除标记。
类帖子的组合,这样也许东西:
MemoryStream ms = new MemoryStream();
StreamWriter writer = new StreamWriter(ms, new UTF8Encoding(false));
xmlDocument.Save(writer);
如前所述,这个问题有难闻的气味。
根据this support note,Flash使用BOM来消除UTF-16BE和UTF-16LE之间的歧义,这是应该的。所以你不应该从Flash获得错误:XDocument生成UTF16编码格式良好的XML,而Macromedia声称Flash可以读取UTF16编码的格式良好的XML。
这让我怀疑,无论您遇到的问题是什么,它都可能不是由BOM导致的。如果是我,我会多挖掘一下,期望真正的问题在别的地方。
我无法在上面添加注释,但如果有人使用Chris Wenham的建议,请记住Dispose of the writer!我花了一些时间想知道为什么我的输出被截断,这就是原因。
推荐using(XmlWriter...) {...}
改变克里斯的建议
轻微国防部克里斯威翰的回答。
不能修改编码一旦创建的XmlWriter,但使用XmlWriterSettings创建的XmlWriter时,你可以将它设置
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new System.Text.UTF8Encoding(false);
XmlWriter writer = XmlWriter.Create("foo.xml", settings);
myXDocument.WriteTo(writer);
- 1. ICU字节顺序标记(BOM)
- 2. 字节顺序标记问题
- 3. 如何在本地化文件中解决字节顺序标记BOM问题
- 4. 处理R中的字节顺序标记(BOM)
- 5. 使用Emacs删除字节顺序标记(BOM)
- 6. 使用JavaScript RegEx匹配字节顺序标记(BOM)
- 7. StreamWriter和UTF-8字节顺序标记
- 8. 使用C++编写带有字节顺序标记(BOM)的csv文件?
- 9. saxparser忽略字节顺序标记
- 10. Ruby:检查字节顺序标记
- 11. 如何避免读取Visual Studio资源文件中的字节顺序标记(BOM)?
- 12. XDocument XElement.Descendants问题
- 13. 转换字节数组的文本将字节顺序标记检测
- 14. UTF-8 BOM问题
- 15. 问题与选框标记和GWT
- 16. 删除R/C中的字节顺序标记
- 17. 忽略用C字节顺序标记++,从流
- 18. 字节顺序标记会造成错误
- 19. PDF文档中是否允许字节顺序标记?
- 20. 设置nobomb不删除vim中的字节顺序标记
- 21. 输出增加了字节顺序标记的XML
- 22. 删除asp.net页面上的字节顺序标记
- 23. 字节顺序标记在Ubuntu中使用Mono生成文件
- 24. 如何设置Unicode文件的字节顺序标记?
- 25. UTF-8中没有字节顺序标记的JSON提要
- 26. 这里需要字节顺序标记吗?
- 27. 检测到UTF-16(LE)字节顺序标记
- 28. [embed]标记和字体问题
- 29. 确定字节顺序与htons
- 30. C#问题与字节[]
的可能重复[的XDocument:保存XML没有BOM到文件(HTTP ://sackoverflow.com/questions/4942825/xdocument-saving-xml-to-file-without-bom) – 2014-02-28 19:32:21