在元素A下面可以有B,C,D这三种元素,它们的出现顺序是随机的,而B和C最多只能出现一次,但D可以出现任意次数。比如:<A>
<B />
<C />
<D />
</A><A>
<C />
<B />
</A><A>
<D />
<D />
<B />
</A>以上都可以认为是合法的,而下面的是不合法的,因为B出现了两次。<A>
<B />
<B />
<D />
</A>
<B />
<C />
<D />
</A><A>
<C />
<B />
</A><A>
<D />
<D />
<B />
</A>以上都可以认为是合法的,而下面的是不合法的,因为B出现了两次。<A>
<B />
<B />
<D />
</A>
<xsd:element name=”D” type=”xsd:string” minOccurs=”0” maxOccurs=”unbounded” />
<xsd:element name=”name”>
<xsd:complexType>
<xsd:all minOccurs=”0”>
<xsd:element name=”B” type=”xsd:string” />
<xsd:element name=”C” type=”xsd:string” />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>参考:http://www.cnblogs.com/tomin/archive/2009/04/02/1427742.html
这里描述的方案似乎可以满足你的需求
<B />
<C />
<D />
</A><A>
<C />
<B />
</A><A>
<D />
<D />
<B />
</A>把这个XML保存成一个xml文件
然后打开Visual Studio Tools中的命令行,输入命令 XSD 文件名.xml
就可以生成xsd文件了,