2 votes

XML en ASP classique Vbscript

Je suis de retour à asp avec la manupulation XML. Fichier initial :

<?xml version="1.0" ?>
<root>
  <sport/>
</root>

voici ma fonction

Public Function DefinitFunction( x,z)

Dim text 
Dim Root
Dim NodeList

    text = "<Definition>" ---<x> </x> <z> </z> --</Definition> " 
    text = text & "<x><![CDATA["&x&"]]> </x>"
    text = text & "<z> </z>"        
    text = text & "</Definition>"

Set Root = objDoc.documentElement 
Set NodeList = Root.getElementsByTagName("sport") 

NodeList.appendChild text 

objDoc.Save strFile

end function
'  Private strFile, objDoc are class object

Je veux modifier tout cela dynamiquement. J'ai donc une fonction : DefinitFunction(x,z) qui concaténera une chaîne de caractères et y ajoutera <Definition> ---<x> </x> <z> </z> --</Definition> dans mon fichier juste après le Node <sport> à la fin, cela devrait être mon résultat :

<?xml version="1.0" ?>
<root>
  <sport>
    <Definition>
        ---<x> </x> <z> </z> --
      </Definition> 
   </sport>
</root>

Cela ne fonctionne pas. Existe-t-il un meilleur moyen d'y parvenir ?

2voto

Gaby aka G. Petrioli Points 85891

Vous ne pouvez pas ajouter du texte directement vous devez d'abord le convertir en nœud XML

Set newXML = CreateObject("Microsoft.XMLDOM") 
newXML.async = False 
newXML.loadXML( "<root>" & text & "</root>")

NodeList.appendChild( newXML.documentElement.selectSingleNode("/Definition"))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X