次のコードを使用してディレクトリをループし、xml ファイルを探して読み込みます。
XmlReader reader = null;
foreach (string file in files)
{
try
{
System.IO.FileInfo fi = new System.IO.FileInfo(file);
string fext = fi.Extension;
if (fext == ".xml")
{
Console.WriteLine("Processing file:" + fi.Name);
reader = XmlReader.Create(fi.Name);
**//BUT THIS WORKS---> reader = new XmlReader(@"\\10.00.100.11 \Data\Cognos\ReportOutput\Test\Risk Rating Exception Detail (LN-133-D)-en-us_2012-04-14T031017814Z-pdf_desc.xml");**
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an element.
Console.Write("<" + reader.Name);
Console.WriteLine(">");
break;
case XmlNodeType.Text: //Display the text in each element.
Console.WriteLine(reader.Value);
break;
case XmlNodeType.EndElement: //Display the end of the element.
Console.Write("</" + reader.Name);
Console.WriteLine(">");
break;
}
}
reader.Close();
}
}
catch (System.IO.FileNotFoundException e)
{
// If file was deleted by a separate application or thread since the call to TraverseTree() then just continue.
Console.WriteLine(e.Message);
continue;
}
}
単一のファイルで XML.Create を使用すると (BUT THIS WORKS を参照)、そのドキュメントのすべてを読み取ることができます。fi.Name で使用すると、「ファイルを処理しています:」というメッセージが表示され、ディレクトリ内のすべての xml ファイルについて、「ファイル 'C:\Documents and Settings\\My Documents が見つかりませんでした」と表示されます。 \Visual Studio 2010\Projects\MoveReportsTest\MoveReportsTest\bin\Debug\.
リーダーのインスタンス化を移動しようとしましたが、最初はすべてのファイルに対してインスタンス化されていました.同じエラー)。「ファイルが見つかりませんでした」というメッセージは、キャッチフレーズから来ているわけではありません...私は無知です...助けてください! ありがとう!