Ciao a tutti, avrei bisogno di un piccolo aiuto riguardante l'estrazione di dati da un file XML con ASP.
In particolare devo, per il momento, visualizzare a video un elenco di prodotti con prezzo descrizione ecc, ed una volta capito come si fa, memorizzarli su un db di access (ma quest'ultima cosa la so già fare).
Prima di chiedere al forum ho naturalmente scaricato degli esempi sul web ed ho apportato le modifiche che credevo essere giuste per adattare il tutto alle mie esigenze, ma essendo completamente a digiuno di come si trattano i files XML ho copiato "a pappagallo" delle parti e ho sicuramente sbagliato qualcosa, infatti nell'esempio scaricato dal web mi appare a video una lista con il contenuto dei record del file XML, nel mio si apre solo il file ma senza alcun record visualizzato.
Allego i codici dei files funzionanti e di quelli adattati da me:
--------------------------------------------------------------------
file di lettura chiamato le.asp (funzionante)
<html>
<head>
<title>Leggere un file XML con ASP</title>
</head>
<body>
<%
Dim objXmlDom
Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
objXmlDom.async = False
objXmlDom.load Server.MapPath("database.xml")
Dim nome, cognome
Set nome = objXmlDom.getElementsByTagName("record/nome")
Set cognome = objXmlDom.getElementsByTagName("record/cognome")
Dim i
i = 0
For i = 0 To nome.length - 1
Response.Write nome(i).Text & " " & cognome(i).Text & "<br>"
Next
Set nome = Nothing
Set cognome = Nothing
Set objXmlDom = Nothing
%>
-----------------------------------------------------------------------
file contenente i dati chiamato database.xml
<?xml version="1.0" ?>
- <database>
- <record>
<nome>Giuseppe</nome>
<cognome>Verdi</cognome>
</record>
- <record>
<nome>Antonio</nome>
<cognome>Bianchi</cognome>
</record>
- <record>
<nome>Mario</nome>
<cognome>Rossi</cognome>
</record>
</database>
-----------------------------------------------------------------------
file di lettura modificato da me chiamato leggi.asp (non funzionante)
<html>
<head>
<title>PROVA FILE XML</title>
</head>
<body>
<%
Dim objXmlDom
Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
objXmlDom.async = False
objXmlDom.load Server.MapPath("Prodotti.xml")
Dim InternalId, Code, Description
Set InternalId = objXmlDom.getElementsByTagName("EasyfattProducts/Products/Product/InternalId")
Set Code = objXmlDom.getElementsByTagName("EasyfattProducts/Products/Product/Code")
Set Description = objXmlDom.getElementsByTagName("EasyfattProducts/Products/Product/Description")
Dim i
i = 0
For i = 0 To InternalId.length - 1
Response.Write InternalId(i).Text & " " & Code(i).Text & " "& Description(i).Text & "<br>"
Next
Set InternalId = Nothing
-----------------------------------------------------------------------
mio file contenente i record chiamato prodotti.xml
<?xml version="1.0" encoding="UTF-8" ?>
- <EasyfattProducts AppVersion="DaneaEasyfatt.2006.17.00">
- <Products>
- <Product>
<InternalID>63</InternalID>
<Code>BAT04</Code>
<Description>BATTERIA COMPATIBILE LOGISTY BATLI04 3,6V 2Ah</Description>
<Category>BATTERIE</Category>
<Vat>20</Vat>
<Um>nr</Um>
<NetPrice3>7.5</NetPrice3>
<GrossPrice3>9</GrossPrice3>
<SizeUm>cm</SizeUm>
<WeightUm>kg</WeightUm>
<ManageWarehouse>true</ManageWarehouse>
<MinStock>5</MinStock>
<AvailableQty>-25</AvailableQty>
</Product>
- <Product>
<InternalID>62</InternalID>
<Code>BAT06</Code>
<Description>BATTERIA COMPATIBILE LOGISTY BATLI06 7,2V 5Ah</Description>
<Category>BATTERIE</Category>
<Vat>20</Vat>
<Um>nr</Um>
<NetPrice3>23.333</NetPrice3>
<GrossPrice3>28</GrossPrice3>
<SizeUm>cm</SizeUm>
<WeightUm>kg</WeightUm>
<ManageWarehouse>true</ManageWarehouse>
<MinStock>5</MinStock>
<AvailableQty>-1</AvailableQty>
</Product>
eccetera eccetera ..............
</Products>
</EasyfattProducts>
Ringrazio anticipatamente chi mi vorrà aiutare.
Edoardo