日期:2014-05-18 浏览次数:20801 次
update Response set ConfigXML= replace(convert(varchar(max),ConfigXML) ,'AAA','BBB')
------解决方案--------------------
不懂,帮顶.
或者看这里有没有你需要的内容?
SQLServer2005 XML在T-SQL查询中的典型应用
http://topic.csdn.net/u/20081107/17/68aaf5a9-c596-4ab5-ae18-f3370b2ab35b.html
------解决方案--------------------
给个例子吧,确实比较麻烦。
6#的操作,有可能多替换掉相关内容。
DECLARE @myDoc xml
SET @myDoc = '<root>
<item ID="1">
<title>Ajax实战</title>
<author>张洪举</author>
</item>
<item ID="2">
<title>ASP.NET实战</title>
<author>卢桂章</author>
</item>
</root>'
SELECT @myDoc
-- 更新ID为1的item中的title元素的文本
SET @myDoc.modify('
replace value of (/root/item[@ID=1]/title/text())[1]
with "Ajax实战攻略"
')
SELECT @myDoc
-- 更新属性值
SET @myDoc.modify('
replace value of (/root/item[@ID=2]/@ID)[1]
with "3"
')
SELECT @myDoc
------解决方案--------------------
declare @t table(id int,x xml);
insert @t select 1,N'<ConfigXML>
<A>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>OneAAA</Response>
</QuestionResponse>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>TwoAAA</Response>
</QuestionResponse>
</A>
<B>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>1AAA</Response>
</QuestionResponse>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>2AABA</Response>
</QuestionResponse>
</B>
</ConfigXML>'
insert @t select 2,N'<ConfigXML>
<A>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>123ABC</Response>
</QuestionResponse>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>12AAA44</Response>
</QuestionResponse>
</A>
<B>
<QuestionResponse>
<ContentType>FileUploadQuestion</ContentType>
<Response>BBCAABCAAADC</Response>
</QuestionResponse>
<QuestionResponse>
<ContentType>F