tengo un documento XML que mira similar a esto:Seleccionar XElements únicas (por atributo) con un filtro usando LinqToXml
<items>
<item cat="1" owner="14">bla</item>
<item cat="1" owner="9">bla</item>
<item cat="1" owner="14">bla</item>
<item cat="2" owner="12">bla</item>
<item cat="2" owner="12">bla</item>
</items>
Ahora me gustaría llegar a todos los propietarios únicos (que en realidad sólo es necesario el valor del atributo del propietario) perteneciente a una categoría específica utilizando una consulta linq. En mi ejemplo, la consulta para el gato 1 devolvería una lista que contiene 9 y 14. ¿Cómo puedo hacer eso? La sintaxis de Linq sería preferible a Lambdas. Gracias de antemano;)
o en forma de 'lambda': itemElements .Where (x => x.Attribute ("gato") == 1) .SELECT (x => x.Attribute ("owner")) .Distinct(); ¡Personalmente prefiero eso! – Jennifer
'itemElements' debe ser 'item' en where cláusula. El método de atributo devuelve un XAttribute que no se puede comparar con 1 usando == necesita un molde para int y Distinct para cat = "2" aún devolverá 2 elementos ya que ambos atributos son cada uno un objeto distinto. – AnthonyWJones
... por lo tanto, aparte de los flagrantes errores de sintaxis y mi completa falta de conocimiento de xlinq, estoy totalmente de acuerdo con el dinero. Me pregunto si hay alguna forma de rechazar sus propias publicaciones ... – Jennifer