XML属性与XML元素

在工作中,我们被要求创建XML文件以将数据传递给另一个脱机应用程序,然后该应用程序将创建第二个XML文件以传递回,以便更新我们的一些数据。在这个过程中,我们一直在与另一个应用程序的团队讨论XML文件的结构

我提出的示例基本上类似于:

<存货>
<ITEM serialNumber=“something”location=“something”barcode=“something”>
<键入modelNumber=“something”vendor=“something”/>
&lt/项目>
&lt/存货>

另一个团队说这不是行业标准,属性应该只用于元数据。他们建议:

<存货>
<项目>
<序列号>什么&lt/序列号>
<地点>什么&lt/地点>
<条形码>什么&lt/条形码>
<类型>
<型号>什么&lt/型号>
<供应商>什么&lt/供应商>
&lt/类型>
&lt/项目>
&lt/存货>

我建议使用第一种方法的原因是,创建的文件的大小要小得多。在传输过程中,文件中将包含大约80000个项目。事实证明,他们的建议是我建议的三倍。我搜索了提到的神秘的“行业标准”,但我能找到的最接近的是XML属性应该只用于元数据,但我说争论的焦点是什么是元数据

在冗长的解释(抱歉)之后,如何确定什么是元数据,在设计XML文档的结构时,如何确定何时使用属性或元素

我使用这个经验法则:

  1. 属性是自包含的东西,即颜色、ID和名称
  2. 元素是具有或可能具有自身属性或包含其他元素的东西

所以你的很接近。我会这样做:

编辑:根据下面的反馈更新了原始示例

<ITEM serialNumber=“某物”>
<条形码编码=“Code39”>什么&lt/条形码>
<地点>XYX&lt/地点>
<键入modelNumber=“something”>
<供应商>YYZ&lt/供应商>
&lt/类型>
&lt/项目>

发表评论