XML e Nodi

andreathedove

Utente Attivo
17 Mar 2003
175
0
0
47
www.allinonenet.it
Ciao a tutti,
mi sapreste dire come posso leggere più nodi da un file xml?

Mi spiego con questa linea leggo un primo nodo:

Set Nodo = objXML.getElementsByTagName("product")

For Each objNodi In Nodo
' Sfoglio i nodi
For Each objNodo In objNodi.childNodes
Select Case objNodo.nodeName
Case "name"
titolo = objNodo.firstChild.nodevalue
Case "productUrl"
link = objNodo.firstChild.nodevalue
Case "description"
descrizione = objNodo.firstChild.nodevalue
End Select

Ma se ho piu nodi cosa devo fare ?

Grazie mille,
Andrea:hammer:
 
Ciao Luke,
questo è un ramo del mio XML

- <product>
<TDProductId>11670525</TDProductId>
<name>Mini ventilatore tascabile</name>
<description>Il fresco a portata di mano con il mini ventilatore tascabile! Le piccole pale sono in morbidissima e sottile plastica e non fanno alcun male, qualora vengano inavvertitamente a contatto con le mani durante l’uso, quindi nessun pericolo per i bambini! Funziona con due batterie stilo, non</description>
<imageUrl>http://img.dmail.it/img/122889s.jpg</imageUrl>
<productUrl>http://pdt.tradedoubler.com/click?a=147617&p=825&prod=11670525</productUrl>
<price>5.90</price>
<currency>EUR</currency>
- <TDCategories>
- <TDCategory>
<id>170</id>
<name>Travel accessories</name>
<merchantName>TEMPO LIBERO/Viaggi e Vacanze</merchantName>
</TDCategory>
</TDCategories>
<fields />
</product>

Come puoi notare ci sono due NODI, con quel codice che ti ho dato sono riuscito a settare il primo nodo (Product), ora non riesco a settare il secondo NODO TDCategory, mi puoi aiutare ?

Grazie mille,
Andrea:hammer:
 
Ciao Luke,
hoprovato il tuo modo.

Il porblema è che mi legge tutto il nodo e tutti ad esempio "Name" se ci sono i doppi NODI con gli stessi record.

Io vorre una cosa scomposta con i "Case".

Se vuoi ti pago ma perfavore aiutami.

Grazie,
Andrea
 
Ciao Luke,
... sini arrivato ad estrarre i record separatamente, ora li vorrei visualizzare a schermo tutto automaticamente e non manualmente.

Ho scritto questo ma non funziona, naturalmente:

...
' Carico il file
caricoFile = objXML.Load("http://pf.tradedoubler.com/pf/pf?a=147617&categoryId=501&oe=")
'se non ci sono problemi leggo i records

If objXML.parseError.errorcode = 0 Then

Dim i
i = 0
For i = 0 To childNodes

strDescription = objXML.documentElement.childNodes(i).childNodes(7).childNodes(0).childNodes(2).firstChild.Text

response.Write (strDescription & "<br>")

Next

...
Che devo fare ?

Grazieeeee,
Andrea
 
l'articolo che ti ho postato nella mia prima risposta fa esattamente quello che chiedi, devi solo modificare i nomi dei campi del file xml

comunque che errore ti da il codice che hai postato?
 
andrea non devi modificare l'xml
devi modificare il codice asp ed adattarlo al contenuto del file xml
non mi ero spiegato?
tu vuoi estrarre tutti gli item dell'xml, giusto?
l'esempio che ti ho postato fa esattamente questo...
 
Perchè ti vuoi complicare la vita? E poi per scaricarlo nel db, come dici tu, devi leggere l'XML come se lo volessi stampare a video, quindi è solo un passaggio in più. Inoltre chiamando un XML occupi meno risorse che con una query su Access.

Ti ho postato il link della soluzione ma pare che non lo prendi in considerazione... la mia risposta è quella...
 
... per quale motivo devo lasciar perdere ?

Il problema è che non so programmare con XML, quindi volevo gestire il tutto con db e asp, naturalmente inserendo il contenuto del file XML in db.

Andrea
 
Ultima modifica:
Ciao Luke,
mi scuso con te per non aver preso il tutorial in considerazione quanto dovevo.

Tutto funziona ma come posso leggere e prendere quello che voglio io da questo ramo che hanno tre uguali Field?

- <fields>
- <field>
<name>anno pubblicazione</name>
<value>2004</value>
</field>
- <field>
<name>autore</name>
<value>Katrin Eismann</value>
</field>
- <field>
<name>editore</name>
<value>Apogeo</value>
</field>
</fields>

Andrea
 

Discussioni simili