2009-03-03 17 views
3

XML için LINQ öğreniyorum ve belirli bir özelliğe sahip bir öğenin varlığını bulmam gerekiyor.) Muhtemelen Herhangi (kullanarak,XML ile LINQ kullanarak öznitelikle XML öğesini nasıl bulabilirim?

XElement groupCollectionXml = XElement.Parse(groupCollection.Xml); 
IEnumerable<XElement> groupFind = 
    from vw in groupCollectionXml.Elements("Group") 
    where (string) vw.Attribute("Name") == groupName 
    select vw; 

if (groupFind.Count() == 0) 
    return false; 
else 
    return true; 

Bunu yapmanın daha özlü bir yolu vardır biliyorum ama bunu kullanmak için sorguyu yeniden yazmak nasıl emin değilim: Şu anda kullanıyorum. Kimsenin iyi tavsiyesi var mı? Teşekkürler.

cevap

2

Teşekkür hepsini istiyorum. Birinin doğruluğunu bir diğerinin doğruluğu ile birleştirdim, sonra iyice karıştı ve bununla iyi çalıştı:

groupCollectionXml.Elements("Group").Any(
    vw => string.Equals(vw.Attribute("Name").Value, groupName, StringComparison.OrdinalIgnoreCase) 
); 
2
groupCollectionXml. 
    Elements("Group"). 
    Where(item=>String. 
     Equals(item.Attribute("Name"), groupName, OrdinalIgnoreCase)). 
    Any(); 

Bir hatta diğer iki cevaplara

+0

Tek bir satırda olmayan ve okunması daha kolay olan başka bir cevap verebilir misiniz? –

6
groupCollectionXml.Elements("Group").Any(
    vw=>(string)vw.Attribute("Name") == groupName 
); 
İlgili konular