SQL Server 2005在xml文档的开头插入xml版本和命名空间

SQL Server 2005在xml文档的开头插入xml版本和命名空间,xml,sql-server-2005,namespaces,Xml,Sql Server 2005,Namespaces,我正在尝试将版本和名称空间信息插入到sql 2005查询中创建的xml文档中 我已经尝试声明一个xml变量并为其分配文本。不确定是否必须使用名称空间,或者是否可以执行以下操作: DECLARE @doc2 XML; SET @doc2 =N'<ActionChangeRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema

我正在尝试将版本和名称空间信息插入到sql 2005查询中创建的xml文档中

我已经尝试声明一个xml变量并为其分配文本。不确定是否必须使用名称空间,或者是否可以执行以下操作:

DECLARE @doc2 XML;

SET @doc2 =N'<ActionChangeRequest

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"

    xmlns="http://www.customersite.com/xmlapi">
    </ActionRequest>'

SELECT @doc2,
+
    SELECT
      (  SELECT .....
    FROM    tbl A1
    FOR  XML PATH('Customer'),  TYPE ),
      ( SELECT  ......
    FROM tbl        A2
    FOR  XML PATH('RepairFacility'), TYPE),
      ( SELECT .....                             
    FROM tbl J
    FOR  XML PATH('Action'),     TYPE    )
    FOR XML PATH(''), ROOT('Element')

我不确定您希望XML看起来是什么样子,但使用查询会像这样:

;with xmlnamespaces( default 'http://www.customersite.com/xmlapi',
                    'http://www.w3.org/2001/XMLSchema' as xsd,
                    'http://www.w3.org/2001/XMLSchema-instance' as xsi
                    )
select '' as '*'
for xml path(''), root('ActionRequest')
结果:

<ActionRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xsd="http://www.w3.org/2001/XMLSchema"
               xmlns="http://www.customersite.com/xmlapi"></ActionRequest>

SQL Server?另外,您希望声明后的所有内容都位于代码块中,是吗?我尝试的是将答案插入或粘贴到文档的开头。当我将“select”添加为“*”等时,浏览器不会将其视为一个xmlselect,因为我不知道您希望XML是什么样子,所以它只是向您展示如何使用xmlnamespace。您可能无法在开始时添加此节点,因为这样会创建无效的XML文档。除非您正在寻找XML片段。请更新您的问题,说明您希望XML的外观。我正在为XML路径+select的其余部分添加select as“select as”*。如果我包含for路径,如果我不包含,则会得到一个错误,它不是xml---@马克-呃?1.有两个部分