Salve a tutti, spero questo sia il forum corretto in cui postare il mio problemma:
il mio scopo è quello di creare una funzione che passando 2 dati (indirizzo del file XML e il parametro "data" tramite "request.querystring("cancella") ") mi cancelli un preciso record dal file.
Al momento sono riuscito solo a cancellare tutti i campi del record, e a non farlo così visualizare nel file di LayOut, tuttavia temo che alla lunga il mio file XML si riempia di record vuoti.
Ho pensato anche di aprirlo come file di testo e di sostituire con la funzione Replace tutte le occorrenze di "<record><data></data><utente></utente><testo></testo></record>" con ""... ma mi sembra una soluzione davvero poco efficente ed elegante... qualcuno sa suggerirmi qualcosa?
File XML
Funzione ASP
Ciao!
il mio scopo è quello di creare una funzione che passando 2 dati (indirizzo del file XML e il parametro "data" tramite "request.querystring("cancella") ") mi cancelli un preciso record dal file.
Al momento sono riuscito solo a cancellare tutti i campi del record, e a non farlo così visualizare nel file di LayOut, tuttavia temo che alla lunga il mio file XML si riempia di record vuoti.
Ho pensato anche di aprirlo come file di testo e di sostituire con la funzione Replace tutte le occorrenze di "<record><data></data><utente></utente><testo></testo></record>" con ""... ma mi sembra una soluzione davvero poco efficente ed elegante... qualcuno sa suggerirmi qualcosa?
File XML
Codice:
<?xml version="1.0"?>
<database>
<record>
<data>13/07/05 11.06.15</data>
<utente>xarium</utente>
<testo>primo messaggio</testo>
</record>
<record>
<data>13/08/05 12.41.18</data>
<utente>xarium</utente>
<testo>bla bla bla...</testo>
</record>
<record>
<data></data>
<utente></utente>
<testo></testo>
</record>
</database>
Funzione ASP
Codice:
function cancella(dataBasePath)
' CARICO IL DOCUMENTO XML NEL DOM
Dim objXmlDom
Set objXmlDom = Server.CreateObject("Microsoft.XMLDOM")
objXmlDom.async = False
objXmlDom.load Server.MapPath(dataBasePath)
Set record = objXmlDom.getElementsByTagName("database/record")
for i=(record.length-1) to 0 step -1
if record(i).childNodes(0).text=request.querystring("cancella") then
record(i).childNodes(0).text = ""
record(i).childNodes(1).text = ""
record(i).childNodes(2).text = ""
Exit for
end if
next
' SALVO L'AGGIORNAMENTO DEL NODO DEL FILE XML
objXmlDom.Save Server.MapPath(dataBasePath)
' UN PO DI PULIZIA...
Set record = Nothing
Set objXmlDom = Nothing
end function
Ciao!
Ultima modifica: