VBA: XML, modification du texte d'un node

Fermé
Possum3D - 25 juil. 2012 à 11:38
 Possum3D - 11 août 2012 à 17:51
Bonjour à tous,

Je tourne depuis quelques temps sur un problème énervant.

J'ai un fichier xml du type:
--------------------------
<item>
           <A>
            </A>
           <![CDATA[TOTO]]>
</item>


--------------------------

Avec VBA, je souhaite donner une valeur à ce Node, donc obtenir:

--------------------------
<item>
             123456789
           <A>
            </A>
           <![CDATA[TOTO]]>
</item>

--------------------------

Je fais donc:
monItem.text = 123456789


et là, tout le contenu (node A, CDATA) se fait écraser par la valeur! j'obtiens alors:

--------------------------
<item>
             123456789
</item>

--------------------------

Ma question est donc:
Y a t il un moyen simple d'éviter ça et "d'insérer" la valeur dans le node ? J'ai l'impression que ce problème est récurrent, et pourtant je n'ai pas mis la main sur une réponse acceptable jusqu'à présent.

Cordialement

Possum3D

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 751
25 juil. 2012 à 11:42
Bonjour,

C'est bien trop complexe pour moi, mais à tout hasard... Passer par une variable intermédiaire :
MaVar = 123456789 & monItem.Text
monItem.Text = MaVar
0
Bonjour Pijaku,

Merci de te pencher sur le problème.

J'ai envisagé cette solution, mais elle est instable: ainsi, de manière assez étonnante, cette opération va supprimer les balises cdata et traiter son contenu comme du texte.

On se retrouve alors avec une valeur:
123456789TOTO

...

Possum3D
0