<?xml version="1.0"?>
<datatype xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:noNamespaceSchemaLocation="sampletype.xsd">
<table name="emp">
<columns>
<column>
<name>emp_id</name>
<data_type>int(200) </data_type>
</column>
</columns>
</table>
</datatype>
这里我为xml生成了xsd,但它不正确。你能帮我生成xml的xsd吗?提前谢谢。
答案 0 :(得分:2)
只需在此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的不正确是什么? xsd.exe
试图猜测你的XML将包含什么,但在某些情况下,它只需要做出一些假设,因此产生的XSD可能或者可能不是你需要的,它肯定可以写得更好/如果您有关于XML结构的其他专业知识,则效率更高。例如。如果你知道总是只有一个<table>
元素,那么你可以让事情变得更容易。