Ciao a tutti ... ho un problemino ...
Scenario: ho un file XML che rappresenta una semplice banca-dati per gestire una mailing list.
Il file è così composto, con un elemento root (lista) e un numero arbitrario di figli (indirizzo) con i relativi nodi . . . ne riporto una sezione con pochi elementi:
Ora, tutto funziona tranquillamente, l'inserimento di nuovi indirizzi, l'aggiornamento dei nodi "confermato" . . . ecc ecc ecc . . . il mio problema nasce nel metodo che deve verificare se un indirizzo email è già presente.codice:<lista> <indirizzo> <codice>3kdEFns9</codice> <nominativo>Michele Ziparo</nominativo> <email>mikezip@gmail.com</email> <data_iscrizione>15/06/2009</data_iscrizione> <confermato>Si</confermato> </indirizzo> <indirizzo> <codice>8dEfCer7</codice> <nominativo>Federico Rondinelli</nominativo> <email>f.rondilelli@fm626.it</email> <data_iscrizione>14/05/2009</data_iscrizione> <confermato>Si</confermato> </indirizzo> <indirizzo> <codice>2adnf3dD</codice> <nominativo>Andrea Greco</nominativo> <email>andrea@greco.it</email> <data_iscrizione>16/06/2009</data_iscrizione> <confermato>Si</confermato> </indirizzo> <indirizzo> <codice>2yOGj3rB</codice> <nominativo>Report Concorrere</nominativo> <email>report@concorrere.it</email> <data_iscrizione>16/06/2009</data_iscrizione> <confermato>Si</confermato> </indirizzo> </lista>
Chiamo il metodo con questo codice:
E questo è il codice che ho implementato per la verifica:codice:bool presente = verifica_email_esistente(email); if (presente == false) { } else { string message = "Questo indirizzo e-mail è già presente nell'elenco della mailing list!"; ClientScript.RegisterStartupScript(typeof(Page), "alert", "<script language=JavaScript>alert('" + message + "');</script>"); return; }
Ecco . . . questo sistema non funziona . . . perchè gli indirizzi vengono continuamente inseriti, come se la verifica risultasse costantemente "false" . . .codice:protected bool verifica_email_esistente(string email) { bool trovato = false; try { XmlDocument Doc = new XmlDocument(); Doc.Load(Server.MapPath("mdb-database/mailing_list.xml")); XmlElement element = Doc.DocumentElement; string xpathExpr = "/lista/indirizzo/email[email='" + email + "']"; XmlNode nodo = element.SelectSingleNode(xpathExpr); if (xpathExpr.Equals(email)) { trovato = true; return trovato; } } catch (Exception) { throw; } return trovato; }
cosa può essere?!?![]()

Rispondi quotando

