使用父XML元素作为重复出现的子元素的容器?
发布时间:2020-12-16 07:47:25 所属栏目:百科 来源:网络整理
导读:假设您希望允许某些特定的 XML元素出现0次.例如, record元素可以多次出现: repository recordRecord 1/record recordRecord 2/record recordRecord 3/record/repository 是否有任何令人信服的理由将父元素作为容器包含在内?例如,以下使用 recordSet包含 re
假设您希望允许某些特定的
XML元素出现0次.例如,< record>元素可以多次出现:
<repository> <record>Record 1</record> <record>Record 2</record> <record>Record 3</record> </repository> 是否有任何令人信服的理由将父元素作为容器包含在内?例如,以下使用< recordSet>包含< record>的元素内容: <repository> <recordSet> <record>Record 1</record> <record>Record 2</record> <record>Record 3</record> </recordSet> </repository> 在提出这个问题之前我试图找到任何相关的问题,所以如果已经被问到我,我会道歉.提前感谢任何和所有输入! 编辑 – 2009年7月22日: 感谢大家的出色反馈! (我会评论/投票给人,但我还没有足够的声望点.)我可能会继续这条路线,我也想感谢@ 16bytes的建议,包括简单命名父母通过使用复数的重复子元素.
拥有父元素可以更简单地识别XML的各个部分,并使处理程序更容易将子元素映射到集合.
如果你有一个系统禁止使用属性(有些人这样做,那很烦人),你还需要使用包装元素来区分属于特定子元素的属性(如id). 除此之外,省略父元素是有效的,并且可以使文件明显减少冗长. 在您的第一个示例中,用户元素可能与记录混在一起,这是有效的,但可能很难发现: <repository> <record>Record 1</record> <record>Record 2</record> <user>Bill</user> <record>Record 3</record> </repository> 而对于周围的元素,您可以分离集合,并具有该集合的多个实例: <repositories> <users> <user>Bill</user> </users> <repository> <id>id1</id> <recordSet> <id>recordSet1</id> <record>Record 1</record> <record>Record 2</record> <record>Record 3</record> </recordSet> <recordSet> <id>recordSet2</id> <record>Record 1</record> <record>Record 2</record> <record>Record 3</record> </recordSet> </repository> <repository> <id>id2</id> <recordSet> <record>Record 1</record> <record>Record 2</record> <record>Record 3</record> </recordSet> </repository> </repositories> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |