Leer archivos XML desde C#

julio 31 2010Se el primero en comentar

Guardado en : Microsoft, Programación

Leer archivos XML desde C#

XML, siglas en inglés de Extensible Markup Language (lenguaje extensible de marcas), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos. Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML.

XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

En el siguiente ejemplo será para leer datos de una conexión. La estructura de un archivo XML es la siguiente

<?xml version=’1.0′ encoding=’UTF-8′?>
<conexion>
<datos>
<bd>ejemplo</bd>
<user>root</user>
<host>localhost</host>
<password>ejemplo</password>
</datos>
</conexion>

Si observamos <datos> es un nodo que se encuentra dentro del nodo padre <conexion>  y a su vez del nodo hijo <datos> se derivan varios nodos mas. La estructura de un nodo es la siguiente <nombreNodo></nombreNodo>. Como ven es sumamente sencillo crear un archivo XML.

Ota forma de escribir archivos XML es en forma de fila como se muestra en el asiguiente ejemplo.

<?xml version=’1.0′ encoding=’UTF-8′?>

<conexion>

<datos bd=”ejemplo” user=”root” host=”localhost” password=”123” />

</conexion>

El ejemplo esta basado en el primer ejmplo, ahora vamos a ver el código necesario para leer un XML desde C#

Creamos un nuevo proyecto en C# en modo aplicación para Windows lo primero que debemos de hacer es agregar un namespace para poder trabajar con XML como se muestra a continuación.

using System.Xml;

Ahora vamos a implementar y explicar un poco el código que utilizamos para poder tener acceso a nodos dentro de un archivo XML, Es un método llamado LeeXML Que después de haber obtenido los valores de dicho archivo regresa un string llamado cadena Conexión.

public string leeXML()
 
{
 
XmlDocument xDoc = new XmlDocument();
 
xDoc.Load("datosConexion.xml"); //la ubicación del archivo XML con el que vamos a trabajar
 
XmlNodeList conexion = xDoc.GetElementsByTagName("conexion");
 
XmlNodeList listaDatos = ((XmlElement)conexion[0]).GetElementsByTagName("datos"); //obtenemos una lista con los datos de los nodos que se encuentran dentro del nodo datos
 
string cadenaConexion="";
 
foreach (XmlElement nodo in listaDatos ) //obtenemos el valor de cada uno de los nodos en la lista
 
{
 
XmlNodeList nBD = nodo.GetElementsByTagName("bd");
 
XmlNodeList nUser = nodo.GetElementsByTagName("user");
 
XmlNodeList nHost = nodo.GetElementsByTagName("host");
 
XmlNodeList nPassword = nodo.GetElementsByTagName("password");
 
cadenaConexion = string.Format("DataBase={0}; DataSource={1}; Port=3306; User={2}; Password={3}", nBD[0].InnerText, nHost[0].InnerText, nUser[0].InnerText, nPassword[0].InnerText);
 
}
 
return cadenaConexion;
 
}

Espero y les sea de ayuda, Saludos…

Quizá te interese :

Acerca del autor:

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->