我有这样的
XML:
<PrayerTime Day ="1" Month="5" Fajr="07:00" Sunrise="09:00" Zuhr="14:00" />
像这样的一个类:
public class PrayerTime { public string Fajr { get; set; } public string Sunrise { get; set; } public string Zuhr { get; set; } }
还有什么可以获得这样的价值:
XDocument loadedCustomData = XDocument.Load("WimPrayerTime.xml"); var filteredData = from c in loadedCustomData.Descendants("PrayerTime") where c.Attribute("Day").Value == myDay.Day.ToString() && c.Attribute("Moth").Value == myDay.Month.ToString() select new PrayerTime() { Fajr = c.Attribute("Fajr").Value,Sunrise = c.Attribute("Sunrise").Value,}; myTextBox.Text = filteredData.First().Fajr;
我如何根据当前时间表示如果时间介于Fajr的值和日出值之间,则myTextBox应显示Fajr的值.
如果当前时间的值在日出和Zuhr之间,那么显示Zuhr?
如何让它在myTextBox2中显示属性名称?
例如,myTextBox显示值“07:00”,myTextBox2显示“Fajr”?
解决方法
首先根据@abatischcev修改类
public class PrayerTime { public TimeSpan Fajr { get; set; } public TimeSpan Sunrise { get; set; } public TimeSpan Zuhr { get; set; } }
select new PrayerTime() { Fajr = TimeSpan.Parse(c.Attribute("Fajr").Value),Sunrise = TimeSpan.Parse(c.Attribute("Sunrise").Value),Zuhr = TimeSpan.Parse(c.Attribute("Zuhr").Value) };
那么你的支票应该是:
var obj = filteredData.First(); TimeSpan currentTime = myDay.TimeOfDay; string result = String.Empty; if (currentTime >= obj.Fajr && currentTime < obj.Sunrise) { result = "Fajar"; } else if (currentTime >= obj.Sunrise && currentTime < obj.Zuhr) { result = "Zuhar"; } textBox1.Text = result;
(顺便说一句,Zuhr时间应该在Zuhr和Asar之间:))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。