我使用winform,不懂也帮你顶一下

解决方案 »

  1.   

    XML Schema Tutorial
    http://www.w3schools.com/schema/default.asp
      

  2.   

    <?xml version="1.0" encoding="GB2312" standalone="no"?>
    <A xmlns="parent.xsd">
    <M/>
    <N>
    <O/>
    <P/>
    <M xmlns=""/>
    </N>
    </A>
      

  3.   

    大家注意了,主要是想知道有这样功能的XSD是怎么编写的?
      

  4.   

    这个不用自己写。把xml文件放到vs.net,xmlspy等xml文件中,他会帮你自动生成定义文件的。关于xsd的具体定义,到w3c上查
      

  5.   

    <?xml version="1.0" encoding="UTF-8"?>
    <!--W3C Schema generated by XMLSPY v2004 rel. 2 U (http://www.xmlspy.com)-->
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="A">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="M"/>
    <xs:element ref="N"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="M">
    <xs:complexType/>
    </xs:element>
    <xs:element name="N">
    <xs:complexType>
    <xs:sequence>
    <xs:element ref="O"/>
    <xs:element ref="P"/>
    <xs:element ref="M"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:element name="O">
    <xs:complexType/>
    </xs:element>
    <xs:element name="P">
    <xs:complexType/>
    </xs:element>
    </xs:schema>
    这是由xmlspy生成的.事实上由于其它原因,有可能在a节点下的m,和n节点下的m,定义不同.在上面代码中因为定义为complexType,所以不用引入其它schema.