From: Ricaud Matthieu (matthieu.ricaud@cned.fr)
Date: 24/05/2004 - 11:23
c'est cool, la vie est belle alors, vive le DOM :)
-----Message d'origine-----
De : xml-tech-bounce@xmlfr.org [mailto:xml-tech-bounce@xmlfr.org]De la
part de Lara Callaway
Envoyé : lundi 24 mai 2004 11:45
À : xml-tech@xmlfr.org
Objet : [xml-tech] Re: Extraction et insertion dedonnées XML
Hey,
J'ai finalement trouvé une solution. La voici :
function tableauLivre (XMLFile)
Dim objXML
Dim ObjNodeList
Dim noeud
Dim titre
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = false
fichier = Server.MapPath(XMLFile)
objXML.load fichier
if objXML.parseError.errorCode <> 0 then
Response.Write "erreur"
Set ObjNodeList = objXML.getElementsByTagName("livre")
Dim tab() : redim tab(ObjNodeList.length)
for i = 0 To ObjNodeList.length - 1
set noeud = ObjNodeList.item(i)
set titre = noeud.selectSingleNode("titre")
tab(i) = noeud.attributes.item(0).nodeValue
next
tableauLivre = tab
end if
end function
Lara, :-)
Selon Ricaud Matthieu <matthieu.ricaud@cned.fr>:
>
> Salut !
>
> Qu'est cde qui ne marche pas dans ton code au juste ?
> Je ne l'ai pas testé, mais il y a une ligne qui me parait pas top :
> Set objlivreXML2 = objRoot.selectSingleNode("livres/livre["&i&"]")
> c'est plutôt ("livres/livre[@num="&i&"]") non ?
> Ta variable ne selectionne rien sinon.
>
> Sinon dans la démarche, plutôt que de faire childnodes.length, tu peux
> utiliser le principe suivant :
> Tu selectionne tous les noeuds LIVRE d'un coup avec :
>
> Set objTOUSlivreXML2 = objRoot.selectNodes("livres/livre")
>
> Et ensuite tu peux boucler dessus en faisaint
>
> Dim objLIVRE
>
> For each objLIVRE in objTOUSlivreXML2
> '----là tu fais ce que tu veux par exemple : response.write
> objlIVRE.getattribute("num")&"<br/>"
> '---- mettre dans un tableau etc...
> Next
>
> Voila je te laisse tester,
> a+
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|