私はこのような状況を作ろうとしています: ユーザーは、「txtComStartDate のみ」または「txtComEndDate のみ」または「txtComStartDate と txtComEndDate の両方」のいずれかを入力できます。
ユーザーtxtComStartDate
が 18/08/12 と入力すると、18/08/12 以降のデータのみが表示されます。
ユーザーtxtComEndDate
が 19/08/12 と入力すると、19/08/12 以降のデータのみが表示されます。
ユーザーがtxtComStartDate
18/08/12 とtxtComEndDate
19/08/12 の両方を制限すると、これら 2 つの日付の間のデータが表示されます。
ステートメントでエラーが発生し、if
正しく機能していません。&&
とについて混乱してい||
ます。誰か助けてくれませんか?助けていただければ幸いです。ありがとうございました。
私のコード:
private void searchComByDate()
{
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(sourceDir);
foreach (string fileName in fileEntries)
{
XmlDocument xmlDoc = new XmlDocument(); //* create an xml document object.
string docPath = fileName;
xmlDoc.Load(docPath); //* load the XML document from the specified file.
XmlNodeList nodeList = xmlDoc.GetElementsByTagName("item");
foreach (XmlNode node in nodeList)
{
XmlElement itemElement = (XmlElement)node;
string itemDate = itemElement.GetElementsByTagName("pubDate")[0].InnerText;
CultureInfo provider = CultureInfo.InvariantCulture;
if (txtComStartDate.Text != (String.Empty) && DateTime.Parse(itemDate) >= DateTime.ParseExact(txtComStartDate.Text, "dd/MM/yy", provider)
|| txtComEndDate.Text != (String.Empty) && DateTime.Parse(itemDate) <= DateTime.ParseExact(txtComEndDate.Text, "dd/MM/yy", provider)
|| (txtComStartDate.Text != (String.Empty) && DateTime.Parse(itemDate) >= DateTime.ParseExact(txtComStartDate.Text, "dd/MM/yy", provider) && txtComEndDate.Text != (String.Empty) && DateTime.Parse(itemDate) <= DateTime.ParseExact(txtComEndDate.Text, "dd/MM/yy", provider)))
{
string itemAuthor = itemElement.GetElementsByTagName("author")[0].InnerText;
string itemTitle = itemElement.GetElementsByTagName("title")[0].InnerText;
string itemDescription = itemElement.GetElementsByTagName("description")[0].InnerText;
string itemXMLFile = Path.GetFileNameWithoutExtension(fileName);
richComByTemplate.AppendText("SYMBOL: " + itemXMLFile + "\nAUTHOR: " + itemAuthor + "\nDATE: " + itemDate +
"\nTITLE: " + itemTitle + "\nDESCRIPTION: " + itemDescription + "\n\n--------\n\n");
}
}
}
}