重构后,我发现需要更改现有数据的命名空间。每个db行包含一个包含以下数据的列:
<Bla xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.contoso.com/ooo/entities/v1">
<Titles>
<smth sourceId="19" targetId="2">
<smth2>New</smth2>
</smth>
</Titles>
</Bla>
如何将值xmlns="http://schemas.contoso.com/ooo/entities/v1"
更新为xmlns="http://schemas.contoso.com/ooo/common/v1"
实际异常是InvalidOperationException
(不期望名称空间)。 m.b可以改变数据阅读器的反序列化,但是......
答案 0 :(得分:0)
update MyTable
set MyColumn =
Convert(xml,
REPLACE(
Convert(nvarchar(max), MyColumn),
'http://schemas.contoso.com/ooo/entities/v1',
'http://schemas.contoso.com/ooo/common/v1')
)