在 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>
我有点小麻烦。我怎样才能像这样在 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>