3

Google で固定形式ファイル (FFF) を検索したところ、次の結果が得られました。

どちらが固定形式ファイルかわかりません。2番目のものはFFFですか、それとも何か他のものですか?

FFF はどのような問題を解決し、XML は FFF よりもどのように問題を解決しますか? FFF と比較した場合、XML 形式の欠点はありますか?

前もって感謝します。

4

2 に答える 2

5

XML に対する FFF の最大の利点は、組み込みのインデックス ベースのランダム アクセス機能です。FFF と比較した場合の XMLの最大の欠点は、構文解析が直線的に行われることです。

個人レコードを保持するデータ ファイルがあるとします。レコードには、ID、名前、住所、および電話番号を保持できます。

固定形式

ID          : 8 chars
Surname     : 36 chars
Firstname   : 36 chars
Address     : 100 chars
Phone       : 20 chars
-----------------------
Total Space: 200 chars

XML 形式(考案されたもので、さまざまな形式になる可能性があります)

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

Total Space : Variant

さて、これに 1000 の「レコード」があるとします。両方のフォームで 600 人目のレコードに到達するのがどれほど難しいか見てみましょう。

固定形式

Offset = (600-1)*200 = 119800 bytes
fseek() + fread() = done

XML 形式

Um..... 

XML の最大の強みは拡張性です( Xはゼロから生まれたわけではありません)。XML は、素晴らしいデータ スニペット、RSS フィード、構成ファイルなどを作成します。特別なライブラリや基本的なノウハウのみを使用せずに簡単に出力でき、ストレージ スペースも妥当です (よほどのことをしなければ<LoveThoseSuperDuperLongElementNames>)。XML パーサーは理解しやすく、多数の標準に支えられており、ほぼすべての人がツールキットに XML パーサーを持っています。普遍的な「理解」は、検証などと同様に、スキーマドキュメント(古い学校のDTD)だけです。

しかし、XML の最大の欠点はこれまでも、現在も、量子コンピューティングが大きく飛躍するまでは、常に速度です。XML は、スループットが要求されるストレージ システムとしては最悪です。

于 2012-11-24T09:40:49.563 に答える
3

XMLと比較しているので、固定幅のテキストファイルを意味していると思います(後者の例)。どちらが「優れている」と言うのは簡単ではありません。ユースケースに大きく依存します。

XML のいくつかの利点。

  • 柔軟 (つまり、フィールドは長くても短くてもかまいませんし、既存のコードを壊さずに追加することもできます)
  • 選択できる多くの実装があります。
  • 機械可読スキーマを使用して、多かれ少なかれ完全に定義できます。
    (つまり、ファイルを定義するスキーマがあれば、コンピューターはファイルをある程度読み取って検証するコードを生成できます)

固定幅ファイルにはいくつかの利点があります。

  • はるかに単純で、ファイルの読み取りと書き込みの両方が多かれ少なかれ簡単です。
  • XML はかなり「おしゃべり」です。
于 2012-11-24T09:11:10.680 に答える