2012-05-08 3 views
0

가능한 중복 : 나는 몇 가지 질문 이전 요구했다
Based on date, get todays and the next two days values from XML?listBox에 현재 날짜와 앞으로 3 일 동안의 XML 값을 채우시겠습니까?

, 덕분에 유래에서 우수한 도움말을, 나는 주요 이슈를 많이 해결했다. 다들 감사 해요! 내 질문이 어리 석다면 나는 매우 유감 스럽지만 나는 stackoverflow에서 여기서 물어보기 전에 최대한 많이 시도했다.

나는 또한기도 시간을 얻고 텍스트 블록을 채울 수있는 작업 페이지가 있습니다. 해결책과 함께이 링크 및 표시된 질문을 참조하십시오. 나는 여전히 이슬람 PrayerTime 응용 프로그램 작업입니다

How to make an if statement to show xml attribute based on current time

, 그리고 오늘날 + 다음 3 일기도 시간을 가진 목록 상자를 채우려 : 나는이 클래스와 VAR 쿼리 공공 시간 범위를 사용합니다.

DateTime myDay = DateTime.Now; 
    XDocument loadedCustomData = XDocument.Load("WimPrayerTime.xml"); 
    var filteredData = from c in loadedCustomData.Descendants("PrayerTime") 
         where c.Attribute("Day").Value == myDay.Day.ToString() 
         && c.Attribute("Month").Value == myDay.Month.ToString() 

         select new PrayerTime() 
         { 
          Fajr = c.Attribute("Fajr").Value, 
          Soloppgang = c.Attribute("Soloppgang").Value, 
          Zohr = c.Attribute("Zohr").Value, 
         }; 

    listBox1.ItemsSource = filteredData; 

내 클래스는 다음과 같습니다 (항상 응용 프로그램 그 자체에 포함)

public class Prayertime 
{ 

    public string Fajr { get; set; } 
    public string Sunrise { get; set; } 
    public string Zohr { get; set; } 

} 

내 로컬 XML 파일 모두의

<PrayerTime 
    Day ="30" 
    Month="4" 
    Fajr="07:00" 
    Sunrise="09:00" 
    Zuhr="14:00" 
/> 
<PrayerTime 
    Day ="1" 
    Month="5" 
    Fajr="07:05" 
    Sunrise="09:05" 
    Zuhr="14:05" 
/> 
<PrayerTime 
    Day ="2" 
    Month="5" 
    Fajr="07:10" 
    Sunrise="09:10" 
    Zuhr="14:10" 
/> 

첫째,이 코드를 변경하는 방법을 나에게 보여 오늘의 목록과 다음 3 일의 목록?

where c.Attribute("Day").Value == myDay.Day.ToString() 

아니면 내가 매일 하나 개의 쿼리를해야한다, DateTime NextDay = DateTime.Now.AddDays(1) 등? 어떻게이 같은 3 ~ 4 개의 다른 querys와 같은 listBox 채 웁니까? 난 그냥이를 반복 할 수 있습니다 :

listBox1.ItemsSource = filteredData1; 
listBox1.ItemsSource = filteredData2; 
listBox1.ItemsSource = filteredData3; 

는 또한, 때 달이 변경을 무엇을? 예를 들어, 날짜가 30이고 월이 4 일이면 다음 날은 값 1이되고 월은 5를 나타내야합니까?

마지막으로 ... 내가 목록 상자 표시 할 정보를 표시 할 때이 좋아하는 : 내가 속성 이름과 값, 위의 날짜/일 사이에 일정한 간격을 가지고

Monday 30.04.2012 
Fajr  07:00 
Sunrise  09:00 
Zuhr  14:00 

Tuesday 01.05.2012 
Fajr  07:05 
Sunrise  09:10 
Zuhr  14:10 

.

은 읽을 시간이 걸립니다 모두에게 대단히 감사하고 모두에게 큰 감사 :

답변

0

이 시도에 응답 한 사람 :

where int.Parse(c.Attribute("Day").Value) >= myDay.Day && int.Parse(c.Attribute("Day").Value) < (myDay.Day + 3) 
관련 문제