我需要在ms sql server中从xsd文件创建db tabel。首先我将xsd和xml加载到DataSet
,然后对DataColumn
中的每个DataTable
我创建SqlCommand,如下所示:
SqlCommand createtable = new SqlCommand("create table " + dt.TableName + " (" +
dc.ColumnName + " varchar(max))", conn);
createtable.ExecuteNonQuery();
或者像这样:
SqlCommand addcol = new SqlCommand("alter table "+ dt.TableName+"
add "+dc.ColumnName+" varchar(max)", conn);
addcol.ExecuteNonQuery();
但我需要xsd文件中的element / ColumnName属性。对于这样的考试。
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:Length value="20"/>
</xs:restriction>
</xs:simpleType>
所以我需要找到xsd元素的restriction
,并且不要忘记&#34; parent&#34;元素,因为某些元素是xsd方案具有相同的名称(&#34;父&#34;元素 - DataTable
的名称)。
P.S。我知道DataColumn
有属性,但只有MaxLenght
。我知道Altova,但我需要&#34;代码&#34;实现
更新:我像这样创建DataSet:
DataSet temp = new DataSet();
temp.ReadXmlSchema("schema.xsd");
temp.ReadXml("xml_file.xml");