【问题标题】:.NET Binary XML.NET 二进制 XML
【发布时间】: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


【解决方案1】:

XmlDictionaryWriter 位于 System.Runtime.Serialization 中,您需要先将其添加为引用。

【讨论】:

    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多