-1
我將xml數據傳遞給存儲過程。如果xml包含xmlns屬性,則失敗。當我刪除xmlns時,它工作正常。如何在傳入存儲過程之前刪除xmlns。我正在使用SQL Server 2008。具有名稱空間屬性的sql server XML參數
我將xml數據傳遞給存儲過程。如果xml包含xmlns屬性,則失敗。當我刪除xmlns時,它工作正常。如何在傳入存儲過程之前刪除xmlns。我正在使用SQL Server 2008。具有名稱空間屬性的sql server XML參數
不要試圖避免它們 - 使用它們!
做到這一點,最簡單的方法是使用WITH XMLNAMESPACES
結構 - 是這樣的:
;WITH XMLNAMESPACES(DEFAULT 'http://your.name.space.here/2011/June')
(
-- your XQuery/XPath code here - it will by default use the namespace given
)
您可以輕鬆擁有多個命名空間,太 - 你可以給他們的前綴,以及(在使用那些你XPath表達式):
;WITH XMLNAMESPACES('http://your.name.space.here/2011/June' AS ns)
(
-- your XQuery/XPath code here - it will by default use the namespace given
....... xmlcolumn.value('(/ns:root/ns:subelement......)[1]', 'int'). .....
)
的更多細節和更多的解釋
見 MSDN docs on Adding XML Namespaces