1

我正在尝试使用 XML 存储一些信息,对数据进行分组的正确方法是什么?我在三个房间中有多台计算机,我应该创建房间元素还是使用属性?

<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 定义了两种表示,一种是时间线中的事件位于顶层,另一种是乐器或人声部分位于顶层。这两种表示是等价的,并且对不同的目的有用.)

于 2012-08-09T14:40:45.280 回答