Flickr에서 XML의 두 번째 < 링크 요소로 돌아가려고합니다.LINQ to XML 두 번째 요소 반환
ImageUrl = item.Element(ns + "link").Attribute("href").Value,
그리고이 실패
이 항상 첫 번째 요소를 반환?
ImageUrl = item.Elements(ns + "link")[1].Attribute("href").Value,
Flickr에서 XML의 두 번째 < 링크 요소로 돌아가려고합니다.LINQ to XML 두 번째 요소 반환
ImageUrl = item.Element(ns + "link").Attribute("href").Value,
그리고이 실패
이 항상 첫 번째 요소를 반환?
ImageUrl = item.Elements(ns + "link")[1].Attribute("href").Value,
두 번째 코드에서 .Skip(1).First().Attribute....
을 시도하십시오.
documentation에 따르면 Element는 첫 번째로 일치하는 하위를 반환합니다. Elements는 일치하는 모든 하위를 반환합니다. 두 번째 항목을 가져 오려면 첫 번째 항목을 건너 뛰고 다음 항목을 가져옵니다.
ImageUrl = item.Elements(ns + "link").Skip(1).First().Attribute("href").Value;
당신이 두 아이가 확신 할 수없는 경우 당신이 할 수 있습니다 :
XElement xe = item.Elements(ns + "link").Skip(1).FirstOrDefault();
if(xe != null)
{
ImageUrl = ex.Attribute("href").Value;
}
당신이 열거에 지정된 위치에있는 요소를 가져 ElementAt를 사용할 수 있습니다
imageUrl = (string)item.Elements(ns + "link").ElementAt(1).Attribute("href");