我想爲使用XML文件的sql-server數據庫構建一個導入界面。現在我被困在創建一個XSD文件以確保正確的input-xml。爲定義的XML創建XSD和表
比方說,我有一個這樣的表:
table: accounts
colummns: account_id INT NOT NULL
name VARCHAR(20) NOT NULL
type CHAR(1) NOT NULL
desc VARCHAR(100)
和XML文件應該是這樣的:
<accounts>
<account>
<account_id>1</account_id>
<name>account A</name>
<type>B</type>
</account>
<account>
<account_id>2</account_id>
<name>account B</name>
<type>D</type>
<desc>some text here</desc>
</account>
</accounts>
這是我第一次設計這樣的事情,我沒有使用xsd文件的經驗... 我嘗試了幾個東西,如SELECT .. FOR XML AUTO, XMLSCHEMA
和XSD.exe,但沒有給我什麼我想要的。
我想在XSD中映射SQL-Server表的類型 - 例如可爲空/不可空和字符串的長度。甚至應該聲明一系列有效值(例如,type
只能是A,B,C或D)。
這說明從XML數據很難工作表 - >但我需要的是XSD,而不是XML。 – CeOnSql
您可以將SELECT TOP(1)* FROM [Accounts] FOR XML AUTO,XMLSCHEMA('MyURI')生成的XSD模式與您在上面選擇的需求結構化的xml相結合。 –
您可以在這裏生成XSD - http://xmlgrid.net/xml2xsd.html,然後通過使用MS SQL生成的XSD中提供的信息來描述類型和使用。希望它可以幫助你。 –