【发布时间】:2011-03-20 10:03:56
【问题描述】:
.NET 的二进制 XML 是如何工作的?
http://msdn.microsoft.com/en-us/library/cc219210.aspx 有一些关于它的文档,但它没有说明如何制作它。甚至没有输出示例。我猜任何与二进制 xml 相关的东西都会在 System.Xml 中,但我找不到任何东西。
此外,我对二进制 xml 的搜索将我带到了 XmlDictionaryWriter,它显然可以写“二进制 XML 格式”,但它甚至不存在于 System.Xml 中!
我的目标是可能以二进制 xml 序列化我的数据(现在我正在使用 XmlSerializer,它编写标准的、人类可读的 xml)。
谁能给我一个如何序列化为二进制 xml 甚至只是编写二进制 xml 的示例?
【问题讨论】:
-
出于好奇;您选择二进制 xml 的目的是什么?我只是想检查一下其他选项可能不适合...
-
您使用的是哪个版本的 .NET?根据该链接,XmlDictionaryWriter 在 System.Xml for .NET 3.0 以上,不知道你为什么说它不存在?
-
@MarcGravell - 我只是出于好奇而研究这个。我只是想知道 .NET 的二进制 xml 是什么样的以及它在性能方面的有效性。我会将我的结果发布到 Dave81 的答案中。
-
我的意思是 - 如果最终大小和 CPU 是您关心的问题,那么您可能想看看像 protobuf-net 这样的东西,它往往胜过两者。
-
@MarcGravell - 嗯...我看了看,但如果我不需要的话,我不想包含任何不必要的第三方 dll。标准 XML 适用于我正在做的事情,但无论如何感谢您的提示;我可能会将它用于未来的项目。
标签: .net xml xml-serialization