2009-07-10 35 views
1

在Microsoft SQL Server 2005中,可以選擇在數據庫中存儲「數據庫 - >類型 - > XML架構集合」下的XML架構以驗證您是否正在查看SQL管理工作室內的數據庫。從sql 2005數據庫中提取xml架構

我需要做的是將模式存儲在上面指定的路徑下,然後在代碼中將該模式拉出以用於驗證其他xml數據。有沒有辦法查詢這個模式,以便我可以獲得xsd文本,然後在.net應用程序中使用它來驗證其他xml?我只需要這些信息就可以從數據庫中提取或查詢xsd測試。

回答

1

在做了一些額外的研究之後,我發現您可以使用sql server中的xml_schema_namespace調用從數據庫查詢xsd。

SELECT xml_schema_namespace(N'',N'OurXmlSchemaNameOnDatabase') 

這將查詢xsd並將其返回。其他信息可以在here找到。

1

我不知道把它拉回來,但你誤解了目的。目的不在於SSMS。它用於驗證存儲在數據庫XML列中的XML,以及用於創建XML索引以及支持XQuery。

這就是說,我敢肯定你可以使用SMO檢索模式,並且可能會對系統表進行查詢以返回它。

+0

我們當前正在使用xml模式驗證數據庫中的xml,但我們還需要驗證數據庫之外的xml。我們想要一個位置來存儲xsd,並且sql server似乎是兩個有效的解決方案。這樣我們就不需要將xsd存儲在數據庫中,也不需要存儲在數據庫之外。 – Aaron 2009-07-10 18:43:15