4

アイテムの階層コレクションをXMLファイルに格納するアプリケーションを作成していますが、コレクションをXMLに格納するための業界標準について疑問に思っています。次の2つの形式のどちらが好ましいですか?(私が見ない別のオプションがある場合は、アドバイスしてください。)

オプションA

<School>
    <Student Name="Jack" />
    <Student Name="Jill" />
    <Class Name="English 101" />
    <Class Name="Math 101" />
</School>

オプションB

<School>
    <Students>
        <Student Name="Jack" />
        <Student Name="Jill" />
    </Students>
    <Classes>
        <Class Name="English 101" />
        <Class Name="Math 101" />
    </Classes>
</School>
4

4 に答える 4

4

私はXMLの専門家ではありませんが、オプションBの方が人間が読める形式であり、オプションAと同じように機械可読であると思います。XMLは人間と機械の両方が読めるように設計されていると思うので、オプションを選択します。 B自分。


ライアン・ファーリーのポストの後で、私はちょうど何か他のものに気づきました。Student or Classesセクションが大きくなりすぎて、別のXMLファイルに移動する必要がある場合は、オプションBを使用して、ノードをコピーし、そのノードから新しいXMLファイルを作成する方が簡単なようです。

于 2008-08-22T18:09:36.507 に答える
4

間違いない - オプション B.

データベースの同じテーブルに学生とクラスを混在させないのと同じように、XML に学生とクラスを混在させません。

于 2008-08-22T18:11:44.863 に答える
2

オプション B、絶対に。類似したアイテムの論理グループがある場合、親アイテムが必要です。そうすれば、私のパーサーは、クラスのレコードが混在しているかどうかを確認するために、500 人の生徒のレコードをすべてチェックする必要がなくなります。

于 2008-08-22T18:15:17.197 に答える
2

オプション B を使用するもう 1 つの理由は、エラー チェックです。元のファイルが XML アプリケーションの外部で変更された場合、または XSD スキーマが適用されていない場合、学生とクラスの数が不均等になる場合があります。

少なくとも、学生とクラスをグループ化すると、他のレコードとは関係なく、各レコードが完全かどうかを簡単に判断できます。

于 2008-08-22T18:15:43.217 に答える