我正在创建一个应用程序,它将在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>

===============>>#1 票数:4 已采纳

我不是XML专家,但我觉得选项B更具人性化,而且我认为它与机器可读性一样。我相信XML的设计既是人类又是机器可读的,所以我会选择Option B我自己。


在瑞安法利的帖子之后我才意识到其他事情。 如果学生或课程部分变得太大而且必须移动到另一个XML文件,那么复制节点并使用选项B从该节点创建新的XML文件似乎更容易。

===============>>#2 票数:4

绝对 - 选项B.

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

===============>>#3 票数:2

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

===============>>#4 票数:2

使用选项B的另一个令人信服的理由是错误检查。 如果在XML应用程序外修改原始文件,或者未应用XSD架构,则可能存在学生和班级数量不均匀的情况。

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

  ask by Joseph Sturtevant translate from so

未解决问题?本站智能推荐:

1回复

XML引用最佳实践

我正在编写一个XML工作表,在其中管理文档类型列表和文档集合列表。 当前看起来像这样: 我管理XML工作表中的类型和语言列表,而不是使用DTD实体,因此我可以使用XSL / Xpath来查询它们。 如您所见,and元素在两种不同的情况下使用:在第一个列表(类型/语言)中,我将它们
1回复

XML服务链接的最佳实践?

故事 开发企业应用程序,您可能很快就会在整个应用程序中拥有多个RESTful服务。 我正在使用JAXB进行XML生成。 将链接嵌入到XML响应中,其目的是检索更多信息,这对人类和消费者来说都是一定的缓解。 这种方法链接的优点可以指向不同服务或应用程序提供的资源。 例 问
2回复

解析XML的最佳实践

我的应用程序将解析通过HTTP接收的XML。 据我所知,解析XML有三种主要方式: SAX DOM XmlPullParser 据说SAX是其中速度最快的,而DOM不适合大型XML文档。 但就解析而言,什么是大型XML文档? 对于以下内容,推荐的解析器是什
2回复

逃脱XML字符的最佳实践?

我已经将HTML数据转换为Dom4J文档。 我遇到了一个错误: 我需要转入&字符“&”; 为了建立文件。 在XML中,似乎我们需要转义5个字符:(gt,lt,quot,amp,apos) 尽管如此,我如何能够逃脱它,而又不将其转义到“节点”元素中: 应该给:
1回复

使用FOR XML选择嵌套的Xml元素-最佳实践

我正在使用FOR XML从SQL Server 05中检索Xml格式的数据 在生成的Xml中嵌套元素的最佳实践是什么? 目前,我正在这样做: 但是,由于相关的子查询,我对此的性能感到担心。 我是否可以使用“分组类型”功能,以便可以在两个表上进行常规的内部联接,并生成结果Xm
3回复

将XML转换为HTML:最佳实践?

我有这样的XML: 我需要在HTML标记中使用它: 为最广泛的浏览器执行此操作的“正确”方法是什么? 这可以通过XSLT转换可靠地完成吗? 是否更好地使用正则表达式(不太可能)或者我必须解析xml,并且对于每个<Artist>标记读取每个属性并手动执行docume
1回复

平面文件,通过XML到Actionscript 3的PHP最佳实践

我正在为客户编写一个简单的cms,并且在第十次无法确定最好的策略。 据我所知,我的选择是: 1)将我的XML数据存储为我的动作脚本引用的平面文件。 我可以用php“后端”操作此文件。 2)让我的动作脚本调用PHP脚本,该脚本将输出XML,从而绕过动作脚本和物理xml文档之间的
1回复

存储XML模式的最佳实践是什么?

我目前正在编写各种XML模式。 就自己编写模式而言,我很好。 我已经对此进行了广泛研究,但是在查找IT方面的相关信息时遇到了一些困难。 也许我只是使用了错误的关键字,所以如果这是重复的,我深表歉意。 我确实付出了很大的努力才能自己找到这些信息。 预先感谢您抽出宝贵的时间来帮助我。
1回复

最佳实践XML Nillable与MinOccurs

我在一个通宵的过程中消耗了一个WebService,每个批处理发出约3000个请求。 我正在重新定义XSD的某些元素。 对于不包含任何内容的元素,是否最好使该元素为nillable,从而保持与XML一致的比较结构,或者在这些元素上设置minOccurs = 0,从而减轻XML有效负载
3回复

从类序列化XML文档的最佳实践

我目前的解决方案工作正常。 我有一个C#类Person ,正在使用XmlSerializer对象将其序列化为XML文档。 我知道以下类结构将被序列化为XML文档(也在下面)。 ...将被序列化为以下XML: 假设每个属性具有相同的属性,我应该像使用XmlAttribute ,