Il Document Object Model di XML (centralizzato nel già noto oggetto XMLDOM) offre la possibilità, avendo un po di dimestichezza, di estrarre un nodo da un file XML su specifica richiesta, restituendo un valore booleano simulando una ricerca all’interno dei nodi della struttura del file XML.
Allo scopo di fornire un semplice esempio creiamo un file XML con la seguente struttura, che chiameremo persone.xml:
<?xml version="1.0"?>
<database>
<persona>
<nome>Luca</nome>
</persona>
<persona>
<nome>Max</nome>
</persona>
<persona>
<nome>Jacopo</nome>
</persona>
</database>
Il codice ASP fornito di seguito è sufficientemente commentato per essere agevolmente compreso da chi ha un minimo di dimestichezza con ASP e con la sua interfaccia verso il DOM di XML
<%@LANGUAGE = VBScript%>
<%
' Dichiaro le variabili
Dim nome, xml, trovato, risultato
' Cerco il nominativo
nome = "Luca"
' Apro l'oggetto XMLDOM
Set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = False
xml.Load(Server.MapPath("persone.xml"))
' Seleziono il nodo interessato per la ricerca
Set nodo = xml.documentElement.selectNodes("persona/nome")
' Effettuo la ricerca
trovato = False
For Each Item In nodo
If Item.Text = nome Then trovato = True
Next
' Un po di pulizia...
Set xml = Nothing
' Stampo a video il risultato
risultato = "Il nome " & nome
If trovato = True Then
risultato = risultato & " è stato trovato"
Else
risultato = risultato & " non è stato trovato"
End If
Response.Write risultato
%>
Lascio a voi il compito di ampliare lo script in modo da lanciare la ricerca da una casella di testo piuttosto che da una variabile statica.
