【发布时间】:2013-02-27 05:35:50
【问题描述】:
我想使用 C# 在一个文件夹中的所有 XML 文件(假设 200+)中搜索一个元素值。
我的方案是每个文件将包含多个项目标签。所以我必须检查用户选择的搜索值的所有项目标签。例如:ABC123
目前我正在使用 foreach 循环,它需要很长时间。
您能否建议我一个更好的选择以更快地获得结果
以下是我当前的代码实现。
string[] arrFiles = Directory.GetFiles(temFolder, "*.xml");
foreach (string file in arrFiles)
{
XmlDocument doc = new XmlDocument();
doc.Load(file);
XmlNodeList lstEquip = doc.SelectNodes("scene/PackedUnit/Items/ItemCode");
foreach (XmlNode xnEquip in lstEquip)
{
if (xnEquip.InnerText.ToUpper() == equipCode.ToUpper())
{
String[] strings = file.Split('\\');
string fileName = strings[strings.Count() - 1];
fileName = fileName.Replace(".xml", "");
lstSubContainers.Add(fileName);
break;
}
}
}
【问题讨论】:
-
发送一个 XML 的 sn-p,我应该能够为您指出一两个解决方案。还有什么是“项目标签”?
-
文件大小在 100 Kb 到 1 MB 之间