XMLファイルを通過し、特定の属性の特定の値を持つエントリを「抽出」するアプリケーションを作成しました。アプリケーションは正常に動作しますが、XMLファイルには52,000を超えるエントリがあり、並べ替える値は3つだけです(当然、実行には時間がかかります)。そのため、アプリケーションの進行状況を追跡できるように、進行状況バーを実装したいと思います。私はそれをグーグルで検索しましたが、どのソリューションも私には機能しません(アプリケーションは機能しますが、プログレスバーはまったく動きません)。
エントリを抽出するコードは次のとおりです。
XmlNodeList nodes;
string ExtractedXML = "";
private void extractingXMLToolStripMenuItem_Click(object sender, EventArgs e)
{
if (nodes.Count != 0)
{
foreach (XmlNode node in nodes)
{
if (String.Compare(node.ChildNodes[6].ChildNodes[0].Attributes.GetNamedItem("code").Value.ToString(), "CodeValue") == 0)
{
tempXML = node.InnerXml;
temp = "<" + node.Name + " code=\"" + node.Attributes.GetNamedItem("code").Value + "\">" + Environment.NewLine;
temp += tempXML + Environment.NewLine;
temp += "</" + node.Name + ">";
ExtractedXML += temp + Environment.NewLine;
temp = "";
}
}
textBox1.Text = ExtractedXML;
}
}
同様のコードを持つ値ごとにToolStripMenueアイテムがあり、「CodeValue」のみが変更されます。進行状況バーを実装して、アプリケーションがどこまで到達したかを表示するにはどうすればよいですか?