【发布时间】:2012-07-07 02:22:39
【问题描述】:
我在制作 XML 架构时遇到了一点麻烦。
这是我在 items.xml 中的一个小例子
<items>
<category name="Sample Category #1">
<category name="Sample Subcategory #1.1">
<object>
<name>Sample Inner Object</name>
<desc>Sample Description</desc>
<object>
</category>
<object>
<name>Sample Name</name>
<desc>Sample Description #2</desc>
<object>
</category>
<category name"MyCat #2">
<object>
<name>Another Object</name>
<desc>Another Description</desc>
<object>
</category>
</items>
现在,正如您已经看到的,一个类别中可以有“无限”子类别。它们可以包含对象,但它们的父项也可以包含对象。这描述了我的问题: 如何在 xsd 中定义我想在我的第一层中拥有 -Elements 以及在子层中拥有“无限”可能性或只是对象(包含这两个元素)。
xsd 有可能吗(我想是这样,但我不知道怎么做)还是我选择将 xml 用于这种“数据库”完全错误?
PS:我想稍后在 C# 中实现这个结构。
【问题讨论】:
-
无限项不是问题,(maxOccurs = "unbounded") 就像类别元素中可以只有一个对象元素一样。对象和类别元素出现的顺序是否会导致问题。缺乏收集元素,例如(子)类别和对象。更不用说在类别中嵌套类别。失去足够的 xsd 来应对所有这些基本上最终会导致您可以在任何地方拥有任何毫无用处的东西。
标签: c# .net xml serialization schema