代码之家  ›  专栏  ›  技术社区  ›  Joseph Sturtevant

XML收集最佳实践

xml
  •  4
  • Joseph Sturtevant  · 技术社区  · 17 年前

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

    方案A

    <School>
        <Student Name="Jack" />
        <Student Name="Jill" />
        <Class Name="English 101" />
        <Class Name="Math 101" />
    </School>
    

    <School>
        <Students>
            <Student Name="Jack" />
            <Student Name="Jill" />
        </Students>
        <Classes>
            <Class Name="English 101" />
            <Class Name="Math 101" />
        </Classes>
    </School>
    
    4 回复  |  直到 17 年前
        1
  •  4
  •   Thomas Owens    17 年前

    我不是XML专家,但我发现选项B更容易让人阅读,而且我认为它和选项A一样是机器可读的。我相信XML是为人和机器可读而设计的,所以我自己会选择选项B。


    在Ryan Farley的帖子之后,我意识到了另外一件事。如果Students或Classes部分变得太大,必须移动到另一个XML文件中,那么使用选项B复制节点并从该节点创建新的XML文件似乎会更容易。

        2
  •  4
  •   Ryan Farley    17 年前

    当然可以——选择B。

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

        3
  •  2
  •   Jason Z    17 年前

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

    至少如果你把学生和班级分组在一起,你就可以很容易地分辨出每个记录是否完整,而不依赖于任何其他记录。

        4
  •  2
  •   NoNaMe    13 年前

    方案B 绝对地当存在类似项的逻辑分组时,它应该有一个父项。这样,我的解析器就不必一步一步地检查所有500个学生记录,以查看是否混入了类记录。