C# 在c中创建xml模式并验证#

C# 在c中创建xml模式并验证#,c#,xml,xsd,schema,C#,Xml,Xsd,Schema,我是XML和XML模式的新手 我有以下XML文件: <?xml version="1.0" encoding="utf-8"?> <MainDoc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.unece.org/cefact/namespaces/DocHeader"> <D

我是XML和XML模式的新手

我有以下XML文件:

<?xml version="1.0" encoding="utf-8"?>
<MainDoc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.unece.org/cefact/namespaces/DocHeader">
  <DocHeader>
    <TypeVersion>5.0</TypeVersion>
    <Dest>
      <Id Auther="zzz">2</Id>
    </Dest>
  </DocHeader>
 </MainDoc>
在C#中获取错误:

类型属性不能与simpleType或complexType一起出现


按照klaus Gotter的说法,如果使用复杂类型,那么类型将是我们可以使用的
base
。 检查以下代码:

<xs:element name="Dest">                
                    <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Id">                      
                            <xs:complexType>
                                <xs:simpleContent>
                                  <xs:extension base="xs:string">
                                    <xs:attribute name="Auther" type="xs:string" />
                                  </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element> 

根据克劳斯·格特的说法,如果使用复杂类型,类型将与我们可以使用的
base
相同。 检查以下代码:

<xs:element name="Dest">                
                    <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Id">                      
                            <xs:complexType>
                                <xs:simpleContent>
                                  <xs:extension base="xs:string">
                                    <xs:attribute name="Auther" type="xs:string" />
                                  </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element> 


确切的模式?你能详细说明一下吗?我已经为上面的xml创建了xsd文件。但是我得到了一个错误。“type属性不能与simpleType或complexType一起出现。”所以您试图在c#中创建这个xsd文件?实际上我想使用xsd文件验证xml文件。检查示例XML附带的xsd文件代码i。您指定元素
发送方
接收方
既为类型
xs:string
,也为复杂类型。很明显,这两种情况不可能都是真的。确切的模式?你能详细说明一下吗?我已经为上面的xml创建了xsd文件。但是我得到了一个错误。“type属性不能与simpleType或complexType一起出现。”所以您试图在c#中创建这个xsd文件?实际上我想使用xsd文件验证xml文件。检查示例XML附带的xsd文件代码i。您指定元素
发送方
接收方
既为类型
xs:string
,也为复杂类型。显然,这两者不可能都是真的。
<xs:element name="Dest">                
                    <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Id">                      
                            <xs:complexType>
                                <xs:simpleContent>
                                  <xs:extension base="xs:string">
                                    <xs:attribute name="Auther" type="xs:string" />
                                  </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>