C#错误XMLSchema验证&引用;类型字符串未声明";

C#错误XMLSchema验证&引用;类型字符串未声明";,c#,xml,C#,Xml,我有一个XML,看起来像这样 <?xml version="1.0" encoding="UTF-8"?> <!-- FCT Automated Data Transfer Configuration --> <config_info> <!--First Server --> <transfer_configuration ID="1"> <target_info> <connection

我有一个XML,看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<!-- FCT Automated Data Transfer Configuration -->
<config_info>
  <!--First Server -->
  <transfer_configuration ID="1">
    <target_info>
      <connection_string>Data Source=xyz;Initial Catalog=abc; User id=123; Password=Welcome1;</connection_string>
      <table_name>t1234</table_name>
    </target_info>
    <source_info>
      <access_file_path>Provider= Microsoft Office 12.0 Access Database Engine OLE DB Provider ; Data Source=C:\Data\Data.accdb</access_file_path>
      <table_name>Data</table_name>
    </source_info>
    <transfer_interval_hours>240</transfer_interval_hours>
    <retry_interval_minutes>100</retry_interval_minutes>
    <transfer_interval_hours>0</transfer_interval_hours>
    <field_map>
      <Field source="Test_DateTime" target="Test_DateTime" />
      <Field source="UUT_SlotNumber" target="UUT_SlotNumber" />
      <Field source="System_ID" target="System_ID" />      
    </field_map>
    <failure_notification>
      <email_address_list>
        <email_address>bob@abc.com</email_address>
        <email_address>orson@abc.net</email_address>
        <email_address>FrankieJ@abcd.com</email_address>
      </email_address_list>
      <email_subject>Automated Data Transfer Failure</email_subject>
      <email_body>
          Automatic mail.
        </email_body>
    </failure_notification>
  </transfer_configuration>
  <!--A Second Server-->
  <transfer_configuration ID="more_unique_id">
    <!-- ... remaining config information...  -->
  </transfer_configuration>
</config_info>

数据源=xyz;初始目录=abc;用户id=123;密码=Welcome1;
t1234
Provider=Microsoft Office 12.0 Access数据库引擎OLE DB Provider;数据源=C:\Data\Data.accdb
资料
240
100
0
bob@abc.com
orson@abc.net
FrankieJ@abcd.com
自动数据传输失败
自动邮件。
以及我想要验证xml的xsd模式。模式是

<xsd:schema xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>

    <xsd:complexType name=“DatabaseInfoType”>
        <xsd:sequence>
            <xsd:choice>
                <xsd:element name=“connection_string” type=“string” />
                <xsd:element name=“access_file_path”  >
                    <xsd:simpleType>
                        <xsd:restriction base=“xsd:string”>
                            <xsd:pattern value=“([C-Z]:)|(\\)\\[^%*?\|]+” />
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
            </xsd:choice>
            <xsd:element name=“table_name” type=“string” />
        </xsd:sequence>
        <xsd:attribute name=“ID” type=“string” use=“required” />
    </xsd:complexType>

    <xsd:complexType name=“FieldMapType”>
        <xsd:sequence>
            <xsd:element name=“field” maxOccurs=“unbounded”>          
            </xsd:element>
        </xsd:sequence>
        <xsd:attribute name=“source” type=“xsd:NMTOKEN” use=“required” />
        <xsd:attribute name=“target” type=“xsd:NMTOKEN” use=“required” />
        <xsd:attribute name=“key” type=“xsd:boolean” />
    </xsd:complexType>

    <xsd:complexType name=“PeriodIntervalsType”>
        <xsd:sequence>
            <xsd:element name=“transfer_interval_hours” >
                <xsd:simpleType>
                    <xsd:restriction base=“xsd:positiveInteger”>
                        <xsd:maxInclusive value=“240” />
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name=“retry_interval_minutes”  >
                <xsd:simpleType>
                    <xsd:restriction base=“xsd:positiveInteger”>
                        <xsd:maxInclusive value=“100” />
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name=“initial_interval_minutes”  >
                <xsd:simpleType>
                    <xsd:restriction base=“xsd:positiveInteger”>
                        <xsd:maxInclusive value=“100” />
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name=“FailureNotificationType”>
        <xsd:sequence>
            <xsd:element name=“email_to”>
                <xsd:simpleType>
                    <xsd:restriction base=“xsd:string”>
                        <xsd:pattern value=“([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})” />
                    </xsd:restriction>
                </xsd:simpleType>
            </xsd:element>
            <xsd:element name=“email_subject” type=“string” />
            <xsd:element name=“email_body”    type=“string” />
        </xsd:sequence>
    </xsd:complexType>

    <xsd:complexType name=“TransferConfigType” >
        <xsd:sequence>
            <xsd:element name=“target_info” type=“DatabaseInfoType” />
            <xsd:element name=“source_info” type=“DatabaseInfoType” />
            <xsd:element name=“intervals” type=“PeriodIntervalsType” />
            <xsd:element name=“field_map”   type=“FieldMapType” />            
            <xsd:element name=“failure_notification” type=“FailureNotificationType” />
        </xsd:sequence>
    </xsd:complexType>    

    <xsd:element name=“config_info”>
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name=“transfer_configuration” type=“TransferConfigType” maxOccurs=“unbounded” />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

</xsd:schema>

但是当我执行命令的时候

Validate(ConfigValHandler),我得到的错误是“类型'string'未声明,或者不是简单类型。”

ConfigValHandler是XML验证的错误处理程序。
我找不到解决方案。

是否将以下内容定义为string而不是xs:string


“xsd:element name=“connection\u string”type=“string”

不应该
type=“string”
type=“xsd:string”
?您的代码是自动生成的吗?或者你编辑了类型手册yyeah它是xsd:string