¡Esta es una revisión vieja del documento!
Es la capacidad que tiene .NET de acceder fácil y rápidamente a datos en formato xml.
Pongamos el siguiente ejemplo de xml:
<?xml version="1.0" encoding="utf-8" ?> <persons> <person status="disabled"> <name>Alfred</name> <surname>GarGon</surname> <projects> <project>VS</project> <project>Geisa</project> </projects> </person> <person> <name>Albert</name> <surname>Dilbert</surname> <projects> <project>Temari</project> </projects> </person> <person> <name>Joan</name> <surname>Nap</surname> <projects> <project>Temari</project> <project>Geisa</project> <project>VS</project> </projects> </person> <person status="disabled"> <name>Pepe</name> <surname>Teca</surname> <projects> <project>Geisa</project> </projects> </person> </persons>
Para abrir, cargar y consultar el archivo se utiliza la clase System.Xml.Linq.XDocument. Luego querremos realizar consultas sobre los objetos person, por ejemplo los que esten con el atributo status enabled:
XDocument xmlDoc = XDocument.Load("XMLFile1.xml"); var persons = from person in xmlDoc.Descendants("person") where ((person.Attribute("status") == null) || (person.Attribute("status").Value != "disabled")) select new { name = person.Element("name").Value, surname = person.Element("surname").Value }; foreach (var p in persons) Console.WriteLine(p.name + " " + p.surname);
* El método estático XDocument.Load recibe un string que corresponde a una URI; quiero decir, también podría aceptar una dirección externa a partir del protocolo http, por ejemplo.