Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有命名空间属性的sql server XML参数_Xml_Sql Server 2008_Stored Procedures - Fatal编程技术网

具有命名空间属性的sql server XML参数

具有命名空间属性的sql server XML参数,xml,sql-server-2008,stored-procedures,Xml,Sql Server 2008,Stored Procedures,我正在将xml数据传递给存储过程。如果xml包含xmlns属性,那么它将失败。当我删除xmlns时,它工作正常。在传递到存储过程之前,如何删除xmlns。我使用的是sql server 2008。不要试图避免它们-使用它们 最简单的方法是将与XMLNAMESPACES构造一起使用,类似于: ;WITH XMLNAMESPACES(DEFAULT 'http://your.name.space.here/2011/June') ( -- your XQuery/XPath code here

我正在将xml数据传递给存储过程。如果xml包含xmlns属性,那么它将失败。当我删除xmlns时,它工作正常。在传递到存储过程之前,如何删除xmlns。我使用的是sql server 2008。

不要试图避免它们-使用它们

最简单的方法是将
与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'). .....
)