尝试解决这个问题,我们将不胜感激。
我有一个xml文件,如下所示:
<?xml version="1.0" ?>
<test>
<Name>Folder exists check</Name>
<type>
<DoesFolderExist>
Synchronisation Errors
</DoesFolderExist>
</type>
</test>
对于<type>
部分,我希望我的xsd只能有一个孩子,但实际类型可能会有所不同,可能不一定是“DoesFolderExist” - 它可能是“FolderCount”,或者随你。基本上,它只能有一个孩子,但该孩子可能是我的用户可以选择的任何预定义类型之一。我可以在这里得到一个简单的例子,说明如何在我的xsd中列出它吗?
这是我目前所拥有的,而且我不确定从哪里开始:
string XSDMarkup =
@"xsd:schema xmlns:xsd='http://www.ws.org/2001/XMLSchema'>
<xsd:element name='tests'>
<xsd:sequence>
<xsd:element name='test' minOccurs='1'/>
<xsd:element name='type' minOccurs='1' maxOccurs='1'>
<xsd:sequence>
<xsd:element
";
我知道上面的xsd是不完整的,不起作用,但我显然还没有完成。
再次感谢
答案 0 :(得分:0)
您想要type
元素的类型选择,而不是序列。
您的架构文档还有其他问题:特别是,元素的类型必须使用type
属性或作为元素声明的子元素出现的类型定义来给出。因此,tests
(例如)的声明应采用
<xsd:element name='tests'>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="test"> ... </xsd:element>
<xsd:element name="type"> ... </xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
使用优秀的XSD教程花半小时的时间可能是值得的。