Abbiamo ormai visto come leggere, come scrivere e come aggiornare un file XML con ASP e con XMLDOM; sarebbe assurdo non poter cancellare un nodo una volta creato… ed infatti è possibile! Vediamo come.
Prendiamo come riferimento il nostro ormai noto file rubrica.xml di cui ripropongo il codice:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rubrica>
<utente>
<nome id="1">Pippo</nome>
<telefono>001122</telefono>
</utente>
<utente>
<nome id="2">Pluto</nome>
<telefono>334455</telefono>
</utente>
<utente>
<nome id="3">Paperino</nome>
<telefono>667788</telefono>
</utente>
<utente>
<nome id="4">Minnie</nome>
<telefono>990011</telefono>
</utente>
</rubrica>
Utilizziamo il seguente codice ASP per effettuare la cancellazione del file con “nome = Minnie”
<%@LANGUAGE = VBScript%>
<%
Dim MyXML, cancella, quale
Set MyXML = Server.CreateObject("Microsoft.XMLDOM")
MyXML.Async = False
MyXML.Load Server.MapPath("rubrica.xml")
quale = "rubrica/utente[nome='Minnie']"
Set cancella = MyXML.SelectSingleNode(quale)
MyXML.documentElement.removeChild(cancella)
MyXML.Save Server.MapPath("rubrica.xml")
Set cancella = Nothing
Set MyXML = Nothing
Response.Write "Nodo cancellato con successo!"
%>
Nulla di nuovo se non nell’utilizzo dell’XPath di accesso al nodo a cui si desidera accedere
rubrica/utente[nome='Minnie']
e dell’utilizzo del metodo removeChild che effettua materialmente la cancellazione.
