可能重复:
Based on date, get todays and the next two days values from XML?
我之前已经提出了一些问题,感谢stackoverflow的出色帮助,我解决了很多主要问题。谢谢你们! 我非常抱歉,如果我的问题很愚蠢,但我在尽可能多地尝试谷歌之前在stackoverflow问这里。
我还有一个工作页面,我可以获得特定的祷告时间并填充文本块。 通过解决方案查看此链接和我标记的问题。我在类和var查询中使用公共时间跨度:
How to make an if statement to show xml attribute based on current time
我仍然在使用穆斯林祈祷时间应用程序,并希望在今天+接下来的3天祷告时间填充一个列表框。
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"
/>
首先,如何更改此代码以显示今天的列表以及接下来的三天?
where c.Attribute("Day").Value == myDay.Day.ToString()
或者我应该每天进行一次查询,
DateTime NextDay = DateTime.Now.AddDays(1)
等等?如何使用这样的三个或四个不同的查询填充相同的listBox?
我可以重复一遍:
listBox1.ItemsSource = filteredData1;
listBox1.ItemsSource = filteredData2;
listBox1.ItemsSource = filteredData3;
此外,月份变化时该怎么办?例如,如果日期为30,则月份为4,则第二天将为值1,而月份应为5?
最后但并非最不重要..当显示我希望listBox显示的信息时:
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 :(得分:0)
试试这个:
where int.Parse(c.Attribute("Day").Value) >= myDay.Day && int.Parse(c.Attribute("Day").Value) < (myDay.Day + 3)