2011-01-01 2 views
0

WP7 프로젝트에서 원형 차트를 채우는 데 문제가 있습니다. 지금, 내 코드는 다음과 같습니다. xml 웹 서비스에서 데이터를 다시 가져 오는 몇 가지 다른 방법을 시도했지만 행운은 없습니다. 누구든지 내가 잘못한 것을 볼 수 있습니까?WP7 원형 차트를 채우는 중 문제가 발생했습니다.

오류가 발생했습니다. "암시 적으로 'System.Collections.Generic.IEnumerable'형식을 'System.Xml.Linq.XElement'형식으로 변환 할 수 없습니다. 명시 적 변환이 존재합니다 (캐스트가 누락 되었습니까?

XElement Quota = XDocument.Descendants("traffic").Attributes("quota"); 

Descendants("traffic")의 결과는 IEnumerable 아닌 XElement이다) "내 추측이 줄은

XDocument XDocument = XDocument.Load(new StringReader(e.Result)); 

     XElement Traffic = XDocument.Descendants("traffic").First(); 
     XElement Quota = XDocument.Descendants("traffic").Attributes("quota"); 

     ObservableCollection<PieChartItem> Data = new ObservableCollection<PieChartItem>() 
     { 
      new PieChartItem {Title = "Traffic", Value = (double)Traffic}, 
      new PieChartItem {Title = "Quota", Value = (double)Quota}, 
     }; 

     pieChart1.DataSource = Data; 
+0

XML 파일의 모양은 무엇입니까? – devuxer

답변

2

컴파일 오류가 있습니다. 위의 줄에서 이미 해당 열거 형의 First을 얻고 있습니다. 원하는 항목입니다. 그렇지 않습니까?

할당량 행은 다음과 같습니다

XElement Quota = Traffic.Attributes("quota"); 

스타일 현명한, 대부분의 사람들이 지역 변수는 하위 클래스 수준의 속성과 회원들로부터 구별하는 trafficquotadata처럼 맡았다합니다.

업데이트 : 그 할당량 라인이 있어야한다 그래서, Attributes("quota") 반환 IEnumerable<XAttribute>과 같습니다

XAttribute Quota = Traffic.Attributes("quota").FirstOrDefault(); 

또는 단순화하기 위해 :

var traffic = XDocument.Descendants("traffic").First(); 
var quota = traffic.Attributes("quota").FirstOrDefault(); 

나는 을 의미 싶지 않아 , 그러나 이와 같은 컴파일러 오류를 고치는 것은 stackoverflow를 위해 오면 안되는 것이어야합니다. 컴파일러 오류 자체는 문제가 무엇인지 알려주고 있습니다. 메서드는 이 아닌 다른 형식을 반환합니다.이 그랬습니다. var을 사용하면 그 중 일부를 단순화 할 수 있습니다.

+0

이게 문제인 것처럼 보입니다. –

관련 문제