我正在创建一个应用程序,它将在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>
答案 0 :(得分:4)
我不是XML专家,但我发现选项B更具人性化,我认为它与机器可读性一样。我认为XML设计为人类和机器可读,所以我会自己去选项B.
在瑞安法利的帖子之后,我才意识到其他事情。如果学生或课程部分变得太大而且必须移动到另一个XML文件,那么复制节点并使用选项B从该节点创建新的XML文件似乎更容易。
答案 1 :(得分:4)
绝对 - 选项B。
我不会在XML中混合学生和班级,就像我不会在数据库中混合同一个表中的学生和班级一样。
答案 2 :(得分:2)
选项B ,绝对。当存在类似项的逻辑分组时,它应该具有父项。这样,我的解析器就不必遍历所有500个学生记录,检查是否有混合的类记录。
答案 3 :(得分:2)
使用选项B的另一个令人信服的理由是错误检查。如果在XML应用程序之外修改了原始文件,或者没有应用XSD架构,则可能会出现学生和班级数量不均的情况。
至少如果您将学生和班级组合在一起,您将能够轻松地判断每条记录是否完整,与任何其他记录无关。