请耐心等待,因为我对编程本身和 C# winforms 非常陌生。
我有一个AAA.txt
文件,我让它在组合框中显示为“AAA”。我的主要目的是允许用户从下拉组合中选择 AAA,然后单击搜索。在点击事件上,该函数应该逐行读取文本文件的内容,然后查找这些词(例如你好)或短语(例如早上好)是否出现在我所有的 20 个 XML 文件的<description></description>
子节点中。如果这些单词/短语确实出现在某些<description></description>
子节点中,那么整个<item></item>
父节点的数据将作为结果出现。
AAA.txt:
hello
good morning
great
bye
我的功能:
private void searchComByKeywords()
{
string[] fileEntries = Directory.GetFiles(sourceDir);
foreach (string fileName in fileEntries)
{
XmlDocument xmlDoc = new XmlDocument();
string docPath = fileName;
xmlDoc.Load(docPath);
XmlNodeList nodeList = xmlDoc.GetElementsByTagName("item");
foreach (XmlNode node in nodeList)
{
XmlElement itemElement = (XmlElement)node;
string itemDescription = itemElement.GetElementsByTagName("description")[0].InnerText;
if (itemDescription.ToLower().Contains(comboTemplates.SelectedItem.ToString()))
{
string itemTitle = itemElement.GetElementsByTagName("title")[0].InnerText;
string itemDate = itemElement.GetElementsByTagName("pubDate")[0].InnerText;
string itemAuthor = itemElement.GetElementsByTagName("author")[0].InnerText;
richComByTemplate.AppendText("Author: " + itemAuthor + "\nDate: " + itemDate + "\nTitle: " + itemTitle + "\nDescription: " + itemDescription + "\n\n--------\n\n");
}
}
}
}
我知道有些人可能会告诉我使用 LINQ-to-XML,但这不是我现在关心的问题。我知道这条线if (itemDescription.ToLower().Contains(comboTemplates.SelectedItem.ToString()))
没有做我想要的(它会搜索单词“AAA”而不是查看选定的 AAA 文本文件)。我可以知道如何正确编写此行以阅读所选文本文件中出现的单词/短语吗?
谢谢你。