ある属性値を別の属性値と比較しようとしています。trueが返された場合は何もしません。falseの場合は何もしません。何かを追加します。
ここにxmlまたはその一部があります。
<tv grabber-info-name="MCE7-digiguide">
<channel id="101" id2="817">
<display-name>BBC 1 West</display-name>
</channel>
<programme channel="101" channel2="817" start="20110626013000 +0000" stop="20110626060000 +0000">
</programme>
<channel id="102" id2="5223">
<display-name>BBC Two</display-name>
</channel>
<programme channel="102" channel2="5223" start="20110626021000 +0000" stop="20110626220000 +0000">
</programme>
</tv>
Jodrellが示すように、これらのメソッドを使用してデータを比較しています。
MXFDocクラスで
public void CheckTimes()
{
MXFProgramme previousProg = null;
MXFProgramme nextProg = null;
foreach (MXFProgramme prog in Programmes.OrderBy(p => p.channel))
{
nextProg = prog;
if (previousProg != null)
{
if (previousProg.stopped != nextProg.started)
{
MessageBox.Show(previousProg.stopped +" "+ nextProg.started.ToString() +" "+ previousProg.channel +" "+ nextProg.channel);
}
}
previousProg = prog;
}
}
MXFProgrammeクラスで
public DateTime stopped
{
get
{
string StopString = xProgramme.Attributes.GetNamedItem("stop").Value;
DateTime time = new DateTime(int.Parse(StopString.Substring(0, 4)), int.Parse(StopString.Substring(4, 2)), int.Parse(StopString.Substring(6, 2)), int.Parse(StopString.Substring(8, 2)), int.Parse(StopString.Substring(10, 2)), int.Parse(StopString.Substring(12, 2)));
return time.ToUniversalTime();
}
}
public DateTime started
{
get
{
string StartString = xProgramme.Attributes.GetNamedItem("start").Value;
DateTime time = new DateTime(int.Parse(StartString.Substring(0, 4)), int.Parse(StartString.Substring(4, 2)), int.Parse(StartString.Substring(6, 2)), int.Parse(StartString.Substring(8, 2)), int.Parse(StartString.Substring(10, 2)), int.Parse(StartString.Substring(12, 2)));
return time.ToUniversalTime();
}
}
これは実際には静かに機能します。私が理解できないことの1つは、返されたDateTime値が1時間遅れている理由です。
前もって感謝します。