我正在使用以下代碼打開多個XML文件並讀取文件的內容,但它不起作用。OpenFileDialog只讀取第一個文件
OpenFD.Filter = "XML Files (*.xml)|*.xml";
OpenFD.Multiselect = true;
if (OpenFD.ShowDialog() == DialogResult.OK)
{
foreach (string file in OpenFD.FileNames)
{
MessageBox.Show(file);
System.IO.Stream fileStream = OpenFD.OpenFile();
System.IO.StreamReader streamReader = new System.IO.StreamReader(fileStream);
using (streamReader)
{
MessageBox.Show(streamReader.ReadToEnd());
}
fileStream.Close();
}
}
出於測試目的,我創建了兩個xml文件。
- file1.xml(其內容是 「字符串1」)
- file2.xml(其內容是 「字符串2」)
當我打開對話框,選擇這兩個文件,我得到四條消息。
- file1.xml
- 字符串1
- file2.xml
- 字符串1
即使打開文件對話框正確讀取文件名,我無法讀取第二個文件。它只讀取第一個文件。所以我猜這個問題與StreamReader有關,而不是OpenFileDialog。我究竟做錯了什麼?