Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Ricerca di un dato in un file XML con ASP ed XMLDOM

Home + Articoli + XML + Articolo # 118
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


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.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones