为什么所有人都使用二进制文件,如果所有人都可以使用XML?
由于性能,当然,当您必须定义tree结构
XML更难解析,而且更大。它包含的内容远远超出了要存储的原始数据。 XML也可以更容易被黑客入侵。二进制只会存储您要存储的实际数据,如果您使用位域结构并从C或C ++写入/读取它们,则布尔值实际上只占用磁盘上的一位。 XML将布尔值存储为字符串,“ true”或“ false”为四到五个字节。以二进制形式,您可以在XML用来存储ONE的空间中存储四十个布尔值。二进制文件效率更高,并且占用的存储空间更少。
因为解析XML:
您见过
在许多情况下,XML是一个不错的选择,但是在某些情况下,您需要二进制格式或至少应考虑使用它:
阅读此:Joel on software: Back to basics。是的,里面有很多文字。是的,它似乎与您的问题无关,但是不,这对您的问题来说不是一个不好的答案-如果我是乔尔,我只想在这里引用整篇文章,并要求获得不菲的声望。
获得两全其美。将XSD绑定与可序列化/反序列化为二进制和XML的工具一起使用-例如www.codesynthesis.com XSD。
XML是要解析的地狱。这种易于人们编写和阅读的格式实际上是最糟糕的格式之一。
并非每种类型的数据都可以用xml表示。而且它节省了大量空间来将值存储为二进制而不是XML。如果数据将由XML解析器解析,则应将其存储在XML中,否则为什么要浪费空间。