如何构建XML文件?
问题描述:
建立用于返回名称/值pais列表的XML标记的优先版本是什么?如何构建XML文件?
<variables>
<item>ok</item>
<another>123</another>
<catch>me</catch>
</variables>
或
<variables>
<variable name="item" value="ok"/>
<variable name="another" value="123"/>
<variable name="catch" value="me"/>
</variables>
我认为第二种形式比较好,但是否有任何官方W3C建议或“德兴模式”?
答
我不认为有这样做的任何“官方”方式。但对我个人而言,这取决于这些元素/变量的含义。他们是否应该表现出彼此根本不同的行为?或者它们的功能相同,只有参数不同?
在你的例子中,它们的功能似乎是相同的 - 它们只是变量。它们的参数不同 - 名称和值。因此,我会说第二种形式更好,因为你想以同样的方式处理它们 - 可能将它们加载到某种地图或类似的地方,对吧?另一方面,如果他们的功能应该是不同的,那么我会建议使用不同的标签名称。例如:
<post>
<content>Abc</content>
<comment>Xyz</comment>
</post>
是肯定比
<post>
<text type="content">Abc</text>
<text type="comment">Xyz</text>
</post>
由于内容和注释是根本不同的实体,你可能要处理不同。
总而言之,它与OOP编程非常相似。你会为每个变量创建一个单独的类吗?我不这么认为,你只需要创建一个名为“Variable”的类,并用不同的构造函数参数来实例化它。另一方面,如果逻辑与第二个例子不同,那么您可能更愿意创建一个单独的类(可能具有不同的字段)来存储内容和评论。
我明白了......因此对于像名称/值变量这样的实体(即使名称不能被预测),应该优先使用 语法。但是如果像这样的实体是对象/元素的常见/强制性部分,最好将它用作标记。我行吗? –
ManieQ
2012-01-14 14:35:38
我会这么说,是的。只要问问自己,你是否想要以相同或不同的方式解释/处理实体。内容/评论示例也可以使用变量方法:例如,如果您以完全相同的方式处理评论和帖子,并且它们唯一不同的地方是您用它标记的图标(不太可能的场景,但可能)。 – Seramme 2012-01-14 14:38:38