System.Xml.Linq.XDocument Leer XML con Linq

Codigo fuente Autenticarse con XML leyendo palabras de un archivo XML. 

¿Qué es LINQ TO XML?

Pues es nada más que la nueva tecnología de LINQ (“Language-Integrated Query”) aplicado al mejorar el manejo de información establecida en archivos o datos XML. Para lo cual ha manejado las operaciones de consultas estándar y extensiones de consulta especificas para XML, dándole una consistencia y una nueva experiencia de trabajar con XML, además es una interfaz de programación XML en memoria y habilitada para LINQ que permite trabajar con XML desde los lenguajes de programación de .NET Framework.

Uutilizar System.Xml.Linq.XDocument

El código fuente de este artículo lo puede descargar de la siguiente ruta que esta publica en este mismo espacio en el link 

http://cid-287250a527da0fb5.skydrive.live.com/self.aspx/Fuentes/LeerXML.zip este manual explica como leer un archivo XML desde un proyecto web “aspx”  utilizando como herramienta de desarrollo Visual Studio 2008 y la librería System.Xml.Linq.XDocument.

 Cree un proyecto WEB con C# desde Visual Studio 2005 o 2008 y adicione un nuevo elemento al proyecto dando clic derecho sobre el proyecto , Add New Item y XML File,  se adicionara un archivo XML  con la etiqueta inicial de todo archivo XML <?xml version="1.0" encoding="utf-8" ?>. El archivo lo utilizare para validar que una clave digitada en la autenticación de formulario web no contenga palabras claves para la organización en pocas palabras un diccionario de palabras no validas para la autenticación.  

Estructura del archivo XML  o diccionario de palabras no validas

<?xml version="1.0" encoding="utf-8" ?>

<Claves>

  <datosClave>

    <nombre>el tiempo</nombre>

  </datosClave>

  <datosClave>

    <nombre>colombia</nombre>

  </datosClave>

  <datosClave>

    <nombre>sistemas</nombre>

  </datosClave>

  <datosClave>

    <nombre>contacto</nombre>

  </datosClave>

  <datosClave>

    <nombre>contactos</nombre>

  </datosClave>

  <datosClave>

    <nombre>bogota</nombre>

  </datosClave>

  <datosClave>

    <nombre>millos</nombre>

  </datosClave>

  <datosClave>

    <nombre>santafe</nombre>

  </datosClave>

  <datosClave>

    <nombre>mechita</nombre>

  </datosClave>

  <datosClave>

    <nombre>shakira</nombre>

  </datosClave>

</Claves>

 


Valido el valor capturado en una caja de texto de una aplicación ,NET, el valor digitado por el usuario es el que le paso al metodo  ValidarDiccionarioClaves (string ClaveNueva)

        private bool ValidarDiccionarioClaves(string ClaveNueva)
        {
            bool blnValida = true;
            try
            {

                string xmlPath = Server.MapPath("ClavesInvalidas.xml");
                XDocument documento = XDocument.Load(xmlPath);

                var elemento = from p in documento.Descendants("datosClave") select p;

                foreach (var item in elemento)
                {
                    if (ClaveNueva.ToLower().Contains(item.Value.ToString().ToLower()))
                    {
                        blnValida = false;
                        break;
                    }
                }
                return blnValida;
            }
            catch (Exception ex)
            {

                throw new Exception(ex.Message, ex);
            }
        }

 

obtener el valor digitado por el usuario en la caja de texto. 

        protected void Button1_Click(object sender, EventArgs e)
        {
            if (!ValidarDiccionarioClaves(TextBox2.Text.Trim()))
            {
                lblError.Text = "la contraseña contiene palabras no permitidas para la clave";
                return;
            }
        }

About omaracostacasas

ING SOFTWARE
This entry was posted in Microsoft .NET. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s