2009-11-25 1 views
0

트위터 API에서 일부 XML을 구문 분석하려고하는데 아래의 LINQ 쿼리는 1 행만 반환합니다. 원시 XML을보기 위해 코드를 단계별로 실행할 때 보통 20+ 개 항목이므로 여기에서 내가 잘못하고 있는지 확실하지 않습니다.LINQ to XML을 사용하여 컬렉션 만들기 - 어떤 이유로 상위 항목 가져 오기

LINQ to XML 초보자를위한 도움이 필요하십니까?

  List<TwitterStatus> StatusCollection = new List<TwitterStatus>(); 
      XDocument xdoc = XDocument.Parse(xmldata); 

      StatusCollection = (from status in xdoc.Descendants("statuses") 
           select new TwitterStatus 
           { 
            Text = status.Element("status").Element("text").Value, 
            User = status.Element("status").Element("user").Element("screen_name").Value 
           }).ToList(); 

답변

1

는 지금은 트위터 XML의 형태를 잘 모릅니다하지만, 요소 "상태는"여러 "상태"요소가 포함되어있을 수 있습니다. 그래서 Desecendants ("상태")는 하나의 요소만을 찾습니다. 당신은 새로운 TwitterStatus {
텍스트 = status.Element ("텍스트"). 값,
사용자 = 상태를 선택) (xdoc.Descendants에서 "상태"상태에서

StatusCollection =을 (해야하지 않을까요. 요소 ("사용자") 요소 ("화면 _ 이름") 값}). ToList();

관련 문제