OVH Cloud OVH Cloud

xml update

1 réponse
Avatar
Christophe
Bonjour,


j'ai un champ en xml dont j'aimerais pouvoir mettre a jour un noeud !
voila j'ai testé ça mais bien que ca me dit que tout c'est bien passé la
valeur n'a pas changé comme vous le voyais !
De plus la syntaxe je suis sur qu'il y'a un autre moyen
car j'ai une table avec des colonnes (normal me direz vous) et un champ xml
qui devrait etre enrichie par ces colonnes ...


Declare @cXML as XML
Set @cXML = '<toto><bubu>TEST</bubu></toto>'
Set @cXML.modify('replace value of (/toto/@bubu)[1] with "123"')
Select @cXML

1 réponse

Avatar
Rudi Bruchez
Christophe a écrit:

voila j'ai testé ça mais bien que ca me dit que tout c'est bien passé la
valeur n'a pas changé comme vous le voyais !
De plus la syntaxe je suis sur qu'il y'a un autre moyen

Declare @cXML as XML
Set @cXML = '<toto><bubu>TEST</bubu></toto>'
Set @cXML.modify('replace value of (/toto/@bubu)[1] with "123"')
Select @cXML



Bonjour,

En XPath, le @ représente un attribut, alors que dans votre exemple vous
voulez référencer un élément.

Declare @cXML as XML
Set @cXML = '<toto><bubu>TEST</bubu></toto>'
Set @cXML.modify('replace value of (/toto/bubu/text())[1] with "123"')
Select @cXML


--
Rudi Bruchez
Consultant indépendant
modélisation, administration, optimisation,
Solutions MS SQL Server et informatique libre.
MCDBA, MCT, SCJP2
http://www.babaluga.com/
http://rudi.developpez.com/