leggere xml

giuseppenewtech

Nuovo Utente
19 Gen 2008
2
0
0
ciao siete grandi ho usato un vostro script per leggere il mio file xml ma mi da questo errore Errore di run-time di Microsoft VBScript (0x800A01A8)
Necessario oggetto: '[object]'
/prove scipr/leggi_prodotti.asp, line 21

se invece tolgo il ciclo funziona ma me ne caccia uno solo (giusstamente)
<%
Dim objXmlDom
Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
objXmlDom.async = False
objXmlDom.load Server.MapPath("Prodotti.xml")

Dim description, netprice1
Set description = objXmlDom.getElementsByTagName("Description")
Set netprice1 = objXmlDom.getElementsByTagName("NetPrice1")


Response.Write description(i).Text & " " & netprice1(i).Text & "<br>"

Set nome = Nothing
Set cognome = Nothing
Set objXmlDom = Nothing
%>
mi date una mano per leggere tutti record?
grazie
 
E' questa la riga 21?

Response.Write description(i).Text & " " & netprice1(i).Text & "<br>"

Non dichiari "i" e non esegui il ciclo, quindi stai passando un valore "null" mentre ci si aspetta un numerico.
 
ok grazie allora ho fatto passi avanti adesso il codice dichiaro la i come variabile e fgaccio il ciclo la bene fino ad arrivare + o - alla fine del file xml poi mi da dinuovo lo stesso errore
in piu' con capisco come poterfare operazioni sui record prima di inserirli nel db es. il valore di netprice1 lo vorrei moltiplicare x 100 prima di inserirlo e visto che ci sono vorrei metteredelle condizioni ma non so la sintassi corretta if then es se ne record description c' e' "router" allora rs("categoria") deve essere "2"

<%@LANGUAGE = VBScript%>
<%
Dim sc, cn, rs, path
sc = "driver={Microsoft Access Driver (*.mdb)};dbq="
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open sc & Server.MapPath("ecom2.mdb")
Set rs = Server.CreateObject("ADODB.Recordset")
%>


<%
Dim objXmlDom
Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
objXmlDom.async = False
objXmlDom.load Server.MapPath("Prodotti.xml")

Dim internalid, code, description, category, vat, netprice2, netprice1, availableqty

Set internalid = objXmlDom.getElementsByTagName("InternalID")
Set code = objXmlDom.getElementsByTagName("Code")
Set description = objXmlDom.getElementsByTagName("Description")
Set category = objXmlDom.getElementsByTagName("Category")
Set vat = objXmlDom.getElementsByTagName("Vat")
Set netprice2 = objXmlDom.getElementsByTagName("NetPrice2")
Set netprice1 = objXmlDom.getElementsByTagName("NetPrice1")
' Set availableqty = objXmlDom.getElementsByTagName("AvailableQty")
'Dim i
'i = 0
' For i = 0 To code.length -1
' Response.Write internalid(i).text & " " & code(i).text & " "& description(i).text & " "& category(i).text & " "& vat(i).text & " "& netprice2(i).text & " "& netprice1(i).text & " "& availableqty(i).text & "<br>"
rs.Open "prodotti", cn, 3, 3
rs.AddNew
rs("codice") = code(i).text
rs("prodotto") = description(i).text
rs("pdescrizione") = description(i).text
rs("gdescrizione") = description(i).text
rs("cprezzo") = netprice1(i).text
rs("rprezzo") = netprice2(i).text
' rs("giacenza") = availableqty(i).text
rs("iva") = vat(i).text
rs("idprodotto") = internalid(i).text
' campi da inserire il valore 0
rs("puntisconto") = 0
rs("spesespedizione") = 0
rs("tipologia2") = 0
rs("data") = 20080101
rs("produttore") = "New Tech"

IF description = "router" then rs("categoria") = 2 and rs("scategoria") = 3
rs.Update
rs.Close



'Next
Response.Write ("operazione conclusa")
%>
<%
Set code = Nothing
Set vat = Nothing
Set objXmlDom = Nothing


Set rs = Nothing
cn.Close
Set cn = Nothing
%>
grazie
 

Discussioni simili