XML集合最佳实践

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
我虽不是XML专家,但我认为选项B更易读,并且我认为它与选项A一样适合机器阅读。我相信XML旨在同时具备人类可读性和机器可读性,所以我会选择选项B。
在看了Ryan Farley的帖子后,我意识到另一件事情。如果学生或班级部分变得太大,必须移动到另一个XML文件中,似乎使用选项B将更容易复制节点并创建一个新的XML文件。

4

当然是选方案B。

我不会在XML中混合学生和课程,就像我不会在数据库的同一张表中混合学生和课程一样。


2

选项B,完全正确。当有类似项目的逻辑分组时,应该有一个父项。这样,我的解析器就不必检查所有500个学生记录,以查看是否混杂了班级记录。


2

使用选项B的另一个令人信服的原因是错误检查。如果原始文件在XML应用程序之外被修改,或者没有应用XSD模式,则可能存在学生和班级数量不匹配的情况。

至少如果您将学生和班级分组,您将轻松地确定每个记录是否完整,而不受任何其他记录的影响。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接