我有一个现有的 XML 列,我想将一个节点附加到该列,但该节点正在添加一个不需要的命名空间。
DECLARE @x XML =
'<Test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="abc">
<Setting key="display" display="ABC" group="service" enabled="true">
<Value xsi:type="xsd:string">ABC</Value>
</Setting>
</Test>'
CREATE TABLE #C ( x XML )
INSERT INTO #C
SELECT @X
declare @name varchar(50) = 'ABC'
UPDATE #C
SET X.modify('insert <Setting key="about" display="About" group="service" enabled="true">
<Value xsi:type="xsd:string">string of text about {sql:variable("@name")} here.</Value>
</Setting> as last into (/Test[1])')
select * from #C
导致新设置被添加为...
<Setting key="about" display="About" group="service" enabled="true">
<Value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string">string of text about ABC here.</Value>
</Setting>
但我真正想要的是
<Setting key="about" display="About" group="service" enabled="true">
<Value xsi:type="xsd:string">string of text about ABC here.</Value>
</Setting>