什么是固定格式文件以及XML如何比它们更好?

XML*_*Boy 3 xml

我搜索谷歌的固定格式文件(FFF)并得到这些结果:

我不确定哪一个是固定格式文件.第二个是FFF还是别的什么?

FFF解决了什么问题,XML如何比FFF更好地解决它们?与FFF相比,XML格式有任何缺点吗?

提前致谢.

Who*_*aig 5

FFF优于XML的最大优势是基于索引的随机访问的内置功能.矛盾是显而易见的,与FFF相比,XML 的最大缺点是必须解析它的线性方式.

假设您有一个包含人员记录的数据文件.记录可以包含ID,姓名,地址和电话号码.

固定格式

ID          : 8 chars
Surname     : 36 chars
Firstname   : 36 chars
Address     : 100 chars
Phone       : 20 chars
-----------------------
Total Space: 200 chars
Run Code Online (Sandbox Code Playgroud)

XML格式(设计,可以是多种格式)

<Person id="...">
   <Surname>...</>
   <Firstname>...</>
   <Address>...</>
   <Phone>...</>
</Person>

Total Space : Variant
Run Code Online (Sandbox Code Playgroud)

现在,假设这有1000个"记录"让我们看看用两种形式获得第600个人的记录是多么困难.

固定格式

Offset = (600-1)*200 = 119800 bytes
fseek() + fread() = done
Run Code Online (Sandbox Code Playgroud)

XML格式

Um..... 
Run Code Online (Sandbox Code Playgroud)

XML的最大优点是可扩展性(X并非来自任何东西).XML提供了一个非常棒的数据片段,RSS提要,配置文件等.它很容易在没有特殊库和基本知识的情况下发出,并且在存储空间方面可以合理(只要你不<LoveThoseSuperDuperLongElementNames>疯狂).它很容易理解,有大量标准支持,几乎每个人都有自己的工具包中的XML解析器.普遍的"理解"只是一个模式文档(老学者的DTD),以及验证等.

但是,XML的最大缺点是,现在,直到量子计算大跃进,总是会:速度.XML是一种糟糕的吞吐量强制存储系统.