10 messaggi dal 04 aprile 2008
ciao ragazzi sto sclerando"!!!!!!!!!!

devo generare un foglio xml da db con asp funziona tutto tranne che nn riesco a fare il nodo padre ossia il mio xml dovrebbe uscire cosi:

- <root>
<prodotto>

<marca>maglia</marca>
<colore>blu</colore>
<prezzo>5</prezzo>
<marca>polo</marca>
<colore>gialla</colore>
<prezzo>7</prezzo>
</prodotto>
</root>

invece mi esce cosi:

- <root>
<marca>maglia</marca>
<colore>blu</colore>
<prezzo>5</prezzo>
<marca>polo</marca>
<colore>gialla</colore>
<prezzo>7</prezzo>
</root>

xkeeeeeeeeeeeeee
??????????

il codice asp è questo:

<%


strConn = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & _
Server.MapPath("prova.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open strConn

Dim MyXML
dim sql


Set MyXML = Server.CreateObject("Microsoft.XMLDOM")
MyXML.Async = False
MyXML.Load Server.MapPath("database.xml")


Set root = MyXML.createElement("root")
MyXML.appendChild(root)


set sql = conn.Execute("SELECT * FROM prodotto")




Do While not sql.EOF


set prodotto = MyXML.createElement("prodotto")
root.appendChild(prodotto)

set marca = MyXML.createNode("element","nome","")
marca.text = sql.Fields("nome").value
MyXML.documentElement.appendChild(marca)

set colore = MyXML.createNode("element","colore","")
colore.text = sql.Fields("colore").value
MyXML.documentElement.appendChild(colore)

set prezzo = MyXML.createNode("element","prezzo","")
prezzo.text = sql.Fields("prezzo").value
MyXML.documentElement.appendChild(prezzo)

set prodotto=nothing
set marca=nothing
set colore=nothing
set prezzo=nothing
sql.moveNext
Loop



MyXML.Save Server.MapPath("database.xml")
if err.number then
Response.Write "error=true"
else
Response.Write "error=false"
end if

set MyXML = nothing
sql.close
set sql = nothing
Conn.close
set strConn = nothing


%>

help sono alle prese con i primi cenni di voglia di suicidio !!!!
9 messaggi dal 01 aprile 2008
izzusan ha scritto:

set prodotto = MyXML.createElement("prodotto")
root.appendChild(prodotto)

set marca = MyXML.createNode("element","nome","")
marca.text = sql.Fields("nome").value
MyXML.documentElement.appendChild(marca)



Da come fai tu Marca lo stai aggiungendo alla radice del documento (MyXML) e non all'elemento prodotto da come si vede dall'XML desiderato

Ti lascio una specie di metacodice di come faccio di solito io
Non ho il tempo di provare con il codice reale, il lavoro oggi mi mangia.

Crei nodo root
Crei nodo prodotto
Crei nodo marca
prodotto.append marca
Crei nodo colore
prodotto.append colore
.....

root.append prodotto
MyXml.append root

Giuseppe

Giuseppe
---------------------------------
Io non invecchio, divento vintage
http://www.flickr.com/photos/giuseppeandreamosca
10 messaggi dal 04 aprile 2008
GRANDEEEEEEEEEEEEEEEEEEEEE!!!!!!!!!!!!!!!!!!!

e tre giorni che stavo sclerando!!!!!!!!

funge!!!! sei un grande! grazie mille!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.