只需在此 XML 文件上运行xsd.exe
实用程序(请参阅:MSDN XML Schema Definition Tool),您就会得到答案:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="datatype" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="datatype" msdata:IsDataSet="true" msdata:Locale="en-US">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="table">
<xs:complexType>
<xs:sequence>
<xs:element name="columns" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="column" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" />
<xs:element name="data_type" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
那么这个 XSD有什么不正确的呢?猜测您的 XML 将包含什么的xsd.exe
尝试,但在某些情况下,它只需要做出一些假设,因此生成的 XSD 可能会或可能不会完全符合您的需要,并且如果您可以将它写得更好/更有效对 XML 的结构有更多的了解。例如,如果您知道总是只有一个<table>
元素,您可以使事情变得容易得多。