Este es el código que utilizo:
El xml
<contactos>
<contacto>
<id lang="es" version="1.0">1</id>
<nombre>Pedro</nombre>
<apellidos>Garcia Pérez</apellidos>
<poblacion>Murcia</poblacion>
<telefono>658784587</telefono>
<email>[email protected]</email>
</contacto>
</contactos>
Y este es el código en c#:
Código:
  
Gracias un saludo!             XDocument contactos = XDocument.Load(Server.MapPath("agenda3.xml"));
            var contact = from contacto in contactos.Descendants("contacto")
                          //where contacto.Attribute("status") == null || contacto.Attribute("status").Value != "disabled"
                          select new
                          {
                              id = contacto.Element("id").Value,
                              idlang = contacto.Element("id" + contacto.Attribute("lang")).Value,
                              idversion = contacto.Element("id" + contacto.Attribute("version")).Value,
                          };
            foreach (var contacto in contact)
            {
                if (contacto.id == txtId.Text)
                {
                    txtId.Text = contacto.id;
                    txtConsultas.Text += contacto.idlang + " " + contacto.idversion + "\n";
                }
            }
 

 
