我有这个XML,我希望将节点'txtqtyremaining'中的值97更改为新值。我该怎么做?
我不知道如何选择更正节点以及如何更改该值。
<genxml>
<files />
<hidden />
<textbox>
<txtproductref>SKU</txtproductref>
</textbox>
<dropdownlist />
<checkboxlist />
<radiobuttonlist />
<models>
<genxml>
<files />
<textbox>
<availabledate datatype="date" />
<txtbarcode>BAR1234</txtbarcode>
<txtqtyremaining datatype="double">97</txtqtyremaining>
</textbox>
答案 0 :(得分:1)
SET @XML.modify('replace value of (/genxml/models/genxml/textbox/txtqtyremaining[1]/text())[1] with "999.99"')
Select @XML
或者您可以使用简单的Replace()
Set @XML = Replace(cast(@XML as varchar(max)),'>97</txtqtyremaining>','>999.999</txtqtyremaining>')
Select @XML
两者都会返回
<genxml>
<files />
<hidden />
<textbox>
<txtproductref>SKU</txtproductref>
</textbox>
<dropdownlist />
<checkboxlist />
<radiobuttonlist />
<models>
<genxml>
<files />
<textbox>
<availabledate datatype="date" />
<txtbarcode>BAR1234</txtbarcode>
<txtqtyremaining datatype="double">999.999</txtqtyremaining>
</textbox>
</genxml>
</models>
</genxml>