xmlを読み取るサービスを作成しました。xmlには、入力ディレクトリと出力ディレクトリがあります。サービスは、入力ディレクトリ内のファイルを選択して名前を変更し、出力ディレクトリに移動します。サービスにスレッドを実装したい。1つのスレッドでxmlの1つのノードを選択し、もう1つのスレッドで他のノードを選択するようにします。または、ノードに関係なく、1つのスレッドが実行する最初の10個の操作を選択し、次の10個の操作を選択する場合も同様です。すべてのノードが並列に処理されるようにします。誰かがこれについて私を助けることができますか?私はいくつかのスレッドチュートリアルを読んでみましたが、それらを通して多くを得ることができませんでした。サービスコードは次のとおりです。
XmlDocument doc = new XmlDocument();
doc.Load("Data.xml");
int count = doc.SelectNodes("Data/DataClass").Count;
for (int i = 1; i < count; i++)
{
string xpath = "/Data/DataClass[" + i + "]";
XmlNode node = doc.SelectSingleNode(xpath);
XmlNodeList subnode = node.ChildNodes;
string pathO = "";
string pathI = subnode[0].InnerText;
string prefix = subnode[2].InnerText;
string freq = subnode[3].InnerText;
string[] filenames = Directory.GetFiles(pathI);
node.ParentNode.RemoveChild(doc.SelectSingleNode(xpath));
doc.Save("Data.xml");
foreach (string filename in filenames)
{
pathO = subnode[1].InnerText;
pathO = pathO + "\\" + prefix;
string fname = Path.GetFileName(filename);
pathO = pathO + fname;
System.IO.File.Move(filename, pathO);
}
}