4

我正在创建一个应用程序,它将在 XML 文件中存储项目的分层集合,并且我想知道在 XML 中存储集合的行业标准。以下两种格式中的哪一种更受欢迎?(如果我没有看到其他选项,请告知。)

选项 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 被设计为人类和机器可读的,所以我会选择选项我自己。


在 Ryan Farley 的帖子之后,我才意识到其他事情。如果 Student 或 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 的另一个令人信服的理由是错误检查。如果在 XML 应用程序之外修改了原始文件,或者如果没有应用 XSD 模式,则可能会出现学生和班级数量不均等的情况。

至少如果您将学生和班级分组在一起,您将能够轻松地判断每条记录是否完​​整,独立于任何其他记录。

于 2008-08-22T18:15:43.217 回答