在 T-SQL 中创建 XML

Creating XML in T-SQL

我有点小麻烦。我怎样才能像这样在 T-SQL 中为 XML 文件创建根节点?

<Root xmlns="http://www.bla-bla.org" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

</Root>

这种格式看起来像是混合元素和命名空间。

This format looks like mix Elements and namespaces

不,您正在定义一个默认命名空间和两个前缀为 xs:xsi: 的命名空间:

WITH XMLNAMESPACES(DEFAULT 'http://www.bla-bla.org'
                  ,'http://www.w3.org/2001/XMLSchema' AS xs
                  ,'http://www.w3.org/2001/XMLSchema-instance' AS xsi)
SELECT 'blah' AS [@SomeAttribute]
      ,'dummy' AS SomeNode
FOR XML PATH('SomeElement'),ROOT('root');

结果

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.bla-bla.org">
  <SomeElement SomeAttribute="blah">
    <SomeNode>dummy</SomeNode>
  </SomeElement>
</root>