Jump to content
PLC Forum

suibaf

Xml E Asp - scambio dati

Recommended Posts

suibaf

Salve ragazzi. Stavo danto un'occhiata a questi 2 file di cui vi posto il codice. (è molto breve).

Il mio obbiettivo è quello di prendere dei dati da un file xml attraverso un file asp.

file esempio.XML:

<?xml version="1.0" encoding="iso-8859-1"?>

<listaprodotti>

<prodotto id="1" nome="Sum41 - Does this look infected">Ultimo album del famoso gruppo punk-rock</prodotto>

<prodotto id="2" nome="Iron Maiden - The best of the beast">Album fantastico!</prodotto>

</listaprodotti>

Copiato pari pari da internet.

File index.ASP:

<%

Set objXML = Server.CreateObject("Msxml2.DOMDocument.4.0")

'Carico i dati XML

objXML.async = False

objXML.load(Server.MapPath("esempio.xml"))

'Seleziono l'oggetto

set objData = objXML.selectSingleNode("listaprodotti/prodotto[[at]id=2]")

Response.Write(objData.Text)

set objData = nothing

'Pulizia

Set objXML = nothing

%>

Ecco, lanciando il file asp da un server web ovviamente dovrei avre come risultante l'oggetto che sta in esempio.XML che ha id = 2. Invece ho solo un errore:

Tipo di errore:

Errore di run-time di Microsoft VBScript (0x800A01A8)

Necessario oggetto: 'objData'

Qualcuno mi sà aiutare?

Ahh l'esempio l'ho preso da: http://www.minifloppy.it/xml/default.asp?p...lo&idcat=2&id=7

Grazie

Fabio

Link to post
Share on other sites

Massimo Maggi

Ciao.

Ho provato quell'esempio (copia-incolla dal tuo post) e sul mio pc locale funziona a meraviglia.

ho solo modificato questa linea:

set objData = objXML.selectSingleNode("listaprodotti/prodotto[[at]id=2]")

sostituendo [at] con il simbolo giusto (com'è nella pagina che hai linkato).

Senza questa ovvia sostituzione mi da invece un altro errore:

Tipo di errore:

msxml4.dll (0x80004005)

Expression expected. listaprodotti/prodotto[-->[<--at]id=2]

Comunque credo che l'errore sia altrove..

il metodo load dell' objXML.load se fallisce ritorna false (e quindi non genera un errore) (vedi MSDN Library..da consultare sempre!!)

sempre da MSDN Library, riferito a selectSingleNode:

Return Value

An object. Returns the first node that matches the given pattern-matching operation. If no nodes match the expression, returns a null value.

Edited by Massimo Maggi
Link to post
Share on other sites
nll

XML è case-sensitive, riporto quanto è invece risultato dal primo intervento:

file esempio.XML:

...

objXML.load(Server.MapPath("esempio.xml"))

Link to post
Share on other sites
Massimo Maggi

x nll,

non sono sicuro di aver capito bene cosa intendi dire.

Forse ti riferisci al fatto che l'estensione del file è scritta in maiuscolo mentre nel codice è in minuscolo?

Non credo che possa essere quello il problema, perchè il contenuto del file XML è case sensitive, non credo anche il nome del file (su piattaforma Windows, in Linux è diverso).

Ciao

Massimo

Link to post
Share on other sites
nll

Nel codice è case-sensitive anche il nome del file e, ma non sono sicuro, è così anche per ASP (ho studiato ed utilizzato JSP, e mi pare che si dicesse quello nei numerosi rimandi all'ASP)

Link to post
Share on other sites
suibaf

Non funziona, ho controllato tutto perfettamente. Ho provato sia la pc di casa che a quello in ufficio. Niente

Link to post
Share on other sites
suibaf

Ragazzi miei, ho risolto............anzi Massimo Maggi ha risolto. Il padre è in gamba ma suo figlio è praticamente spaventoso..........un genio e ha solo 15 anni!!!!!!!!!!!!! A 15 anni io ero una specie di Tom Sawyer. Il computer non sapevo neanche cosa fosse. Mi interessavano le fionde, le biciclette da cross e le lucertole da uccidere!!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...