我正在尝试更新 XML 字符串,但收到此错误:
XML 数据类型方法“modify”使用不正确。此上下文中应使用非修改器方法
代码:
DECLARE @xmlVal XML ='<r k="ABC"><p k="Id">721</p><p k="ConnectionId">17150E3C-2D3B-4760-B392-0DF7563198D1</p><l k="param" /><l k="filter"><l k="Default"><p k="Id">123</p><l k="Exclude"><l k="Exe"><p k="__Id">efbef694-e86f-487b-9360-9596224c9908</p><l k="Criteria" /></l></l><p k="Family"></p></l></l><l k="Methods" /><l k="Groups" /><p k="Default"></p></r>'
SELECT
CAST(@xmlVal.modify('replace r/p/p/text())[1] WITH 2BDFF1B4-33CD-4CF9-9AD6-17F28C2F03E0') AS varchar(max))
请让我知道我做错了什么,p
用以下方法替换标签内的文本k=ConnectionId
请尝试以下解决方案。
无法在语句
.Modify()
内通过 XQuery 方法修改 XMLSELECT
。应该是两个不同的语句。SQL
输出