我的情况是这样的(简化):
DECLARE @period XML = (
SELECT
'2012' 'period'
FOR XML PATH(''), ROOT ('survey'))
DECLARE @persons XML = (
SELECT
Person.Name 'users/person'
FROM Person
FOR XML PATH(''), ROOT ('company'))
SET @persons.modify('insert sql:variable("@period") as first into (/company)[1]')
SELECT @persons
这给了我这样的 XML:
<company>
<survey>
<period>2012</period>
</survey>
<users>
<person>Dubach</person>
</users>
<users>
<person>Pletscher</person>
</users>
...
现在我需要向根节点添加一个 XML 模式,如下所示:
<company xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mydomain.com/xmlns/bla/blabla/myschema.xsd" xmlns="http://www.mydomain.com/xmlns/bla/blabla">
<survey>
<period>2012</period>
</survey>
<users>
<person>Dubach</person>
</users>
<users>
<person>Pletscher</person>
</users>
...
微软说我必须在 SELECT 语句之前使用WITH XMLNAMESPACES,但这在我的情况下不起作用。
如何添加这些 xmlnamespaces?