sql server - Using "replace value of" to Perform a Partial Replace -


suppose have following xml:

<configuration>     <formula>{x} * {y} * {z}</formula> </configuration> 

i update value of formula element not replace entire value.

for example, can use replace value of method change entire value of element end following:

<configuration>     <formula>{length} * {y} * {z}</formula> </configuration> 

of course, have done find value "{x}" in element value (think, search , replace).

is possible using xml methods in t-sql? if so, can point me in right direction?

what this?

this code transform xml in derived table , re-create xml there...

declare @xml xml= '<configuration>     <formula>{x} * {y} * {z}</formula>     <formula>{a} * {y} * {z}</formula>     <formula>{a} * {x} * {x}</formula> </configuration>';  declare @replx nvarchar(100)=n'length';  allformulas (     select f.value('.','nvarchar(max)') formula      @xml.nodes('configuration/formula') a(f) ) select replace(formula,n'x',@replx) allformulas xml path('formula'),root('configuration') 

the result

<configuration>   <formula>{length} * {y} * {z}</formula>   <formula>{a} * {y} * {z}</formula>   <formula>{a} * {length} * {length}</formula> </configuration> 

Comments