Esto es sencillo con una
de las librerías que ya tiene Visual Studio integrada, System.Xml, para eso solo es necesario hacer un
using en nuestro código “using System.Xml;” Y empezamos:
Tomando como base este pequeño XML con un nodo padre y uno hijo, donde hijo
tiene una propieda, este debe de estar creado en una ruta y lo asignamos a una variable string ruta
Ejemplo:
string ruta = "C:\Prueba.xml";
<?xml version="1.0" encoding="UTF-8"?>
<Padre>
<Hijo Saludar="Saludos"></Hijo>
</Padre>
//Creamos un objeto de
tipo XmlDocumento
XmlDocument xDoc = new XmlDocument();
//Pasamos la ruta de
nuestro XML a leer
xDoc.Load(ruta);
//Obtenemos el elemento
padre con GetElementsByTagName por el nombre del tag y tendríamos que
recorrerlo con un foreach XmlElement pero un XMl no puede llevar dos Tag raiz,
asi que es más fácil con la siguiente instruccion
XmlNodeList PadrePorNombre
= xDoc.GetElementsByTagName("Padre");
//Obtenemos el elemento
padre sin conocer el nombre del tag
XmlElement Padre =
xDoc.DocumentElement; //Nos dara el tap Padre
//Obtenemos los hijos del
padre
XmlNodeList Hijos =
Padre.ChildNodes;
//Recorremos los hijos
para obtener su informacion
foreach (XmlElement Child in Hijos)
{
//Accedemos
al atributo del hijo con GetAttribute y el nombre del atributo Este es útil
cuando conocemos el nombre de nuestros nodos
string hijo = Child.GetAttribute("Saludar"); //Nos
da su valor “Saludos”
//Si
no conocemos los atributos de nuestro hijo obtenemos sus atributos con
.Attributes y lo asignamos a un XmlAttributeCollection
XmlAttributeCollection Listahijos =
Child.Attributes;
//Recomorremos los atributos de nuestro hijo para obtener
sus valores, en caso que tuviera mas de un atributo nuestro hijo recorredira el
ciclo foreach cada uno
foreach (XmlAttribute att in Listahijos)
{
string campo = att.Name; //Nos da el nombre del atributo que sería Saludar
string hijoatt =
att.Value; // Nos da el valor del atributo “Saludos”
//Nota nuestro hijo puede
tener más hijos es decir que nuestro hijo sea padre y contenga hijos, para
ellos seria cuestión de obtener los hijos Child.ChildNodes
}
}
Espero les sea de utilidad, y si tiene alguna duda no duden.
Saludos cordiales!
No hay comentarios:
Publicar un comentario