1

XMLを使用していくつかの情報を保存しようとしていますが、データをグループ化するための正しい方法は何ですか?3つの部屋に複数のコンピューターがありますが、部屋の要素を作成する必要がありますか、それとも属性を使用する必要がありますか?

<rooms>
<room name="Room 1">
  <computer>
    <name>Student14</name>
    <ipaddress>00.00.00.01</ipaddress>
    <macaddress>00-0B-DB-74-12-AB</macaddress>
  </computer>
 </room>
<room name="Room 2">
  <computer>
    <name>Student15</name>
    <ipaddress>00.00.00.02</ipaddress>
    <macaddress>00-0B-DB-74-12-AC</macaddress>
  </computer>
 </room>
<room name="Room 3">
  <computer>
    <name>Student16</name>
    <ipaddress>00.00.00.03</ipaddress>
    <macaddress>00-0B-DB-74-12-AD</macaddress>
  </computer>
 </room>
</rooms>

またはこのように:

<computers>
  <computer>
    <name>Student14</name>
    <ipaddress>00.00.00.01</ipaddress>
    <macaddress>00-0B-DB-74-00-AC</macaddress>
    <location>Room 1</location>
  </computer>
  <computer>
    <name>Student15</name>
    <ipaddress>00.00.00.02</ipaddress>
    <macaddress>00-0B-DB-74-00-AB</macaddress>
    <location>Room 2</location>
  </computer>
  <computer>
    <name>Student16</name>
    <ipaddress>00.00.00.03</ipaddress>
    <macaddress>00-0B-DB-74-00-AD</macaddress>
    <location>Room 3</location>
  </computer>
</computers>
4

2 に答える 2

2

関心のあるデータによって異なります。部屋やコンピュータに関する情報を保存しますか? 最初の例では、部屋に関する情報を保存しています。これには、ソファ、ランプなども含まれる可能性があります。これには、場所、モデルなどが含まれる場合があります。

それは、あなたがどのような情報を知りたいかによって異なります。

于 2012-08-09T11:44:57.487 に答える
0

「正しい」表現はありません。リレーショナル データベースの場合とは異なり、XML には "通常の形式" というものはありません。一般に、システム内のオブジェクトは一般的なグラフを形成し、XML はそのグラフの階層的な射影である必要があります。便宜上表現を選択し、ある表現から別の表現に変換する準備をしてください。

(たとえば、MusicXML では 2 つの表現が定義されています。1 つはタイムラインのイベントがトップ レベルにあり、もう 1 つは楽器またはボーカル パートがトップ レベルにあります。2 つの表現は同等であり、異なる目的に役立ちます。 .)

于 2012-08-09T14:40:45.280 に答える