VBA: XML, modification du texte d'un node

Possum3D -  
 Possum3D -
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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 772
     
    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
  2. Possum3D
     
    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