se va buscar informacion especifica en un archivo xml y se va mostrar esa información especifica en un listView, muestro el archivo prueba.xml
Pablo el primero
Programador Cliente-Servidor
Pablo el segundo
Programador Web
Búsqueda XML según atributo
se utilizara Linq to XML para realizar la búsqueda según valor del atributo XML
string path = "prueba.xml";
listView1.Items.Clear();
XElement doc = XElement.Load(path);
// var result = from persona in doc.Descendants("persona")
var result = from persona in doc.Elements("persona")
where persona.Attribute("id").Value == "001"
select new
{
id = Convert.ToString(persona.Attribute("id").Value).Trim(),
nombre = Convert.ToString(persona.Element("nombre").Value).Trim(),
ocupacion = Convert.ToString(persona.Element("ocupacion").Value).Trim()
};
foreach (var persona in result)
{
ListViewItem nombre = new ListViewItem(" " + persona.nombre + " ");
ListViewItem ocupacion = new ListViewItem(" " + persona.ocupacion + " ");
listView1.Items.Add("");
listView1.Items.Add(nombre);
listView1.Items.Add(ocupacion);
listView1.Items.Add("");
listView1.Items.Add("");
}
Búsqueda XML segun valor
se utilizara Linq to XML para realizar la búsqueda según valor del nodo XML
string path = "prueba.xml";
listView1.Items.Clear();
XElement doc = XElement.Load(path);
// var result = from persona in doc.Descendants("persona")
var result = from persona in doc.Elements("persona")
where persona.Element("nombre").Value == "Pablo el primero"
select new
{
id = Convert.ToString(persona.Attribute("id").Value).Trim(),
nombre = Convert.ToString(persona.Element("nombre").Value).Trim(),
ocupacion = Convert.ToString(persona.Element("ocupacion").Value).Trim()
};
foreach (var persona in result)
{
ListViewItem nombre = new ListViewItem(" " + persona.nombre + " ");
ListViewItem ocupacion = new ListViewItem(" " + persona.ocupacion + " ");
listView1.Items.Add("");
listView1.Items.Add(nombre);
listView1.Items.Add(ocupacion);
listView1.Items.Add("");
listView1.Items.Add("");
}