2016-03-01 67 views
0

我想添加所選文件夾的所有xml文件到C#列表中。如果所有文件僅爲xml,則以下代碼正常工作。如何僅從C#中的選定文件夾中選擇XML文件?

如果在同一文件夾中有其他文件,我想過濾xml文件。

是否可以使用我現有的代碼只選擇xml文件?

謝謝

FolderBrowserDialog folderDlg = new FolderBrowserDialog(); 
DialogResult result = folderDlg.ShowDialog(); 

if (result == DialogResult.OK) 
{ 
    string[] files = Directory.GetFiles(folderDlg.SelectedPath); 

    lblFolder.Text = "Folder : " + folderDlg.SelectedPath; 
    lblFiles.Text = "No of Xml Found : " + files.Length.ToString(); 

    try 
    { 
     foreach (string filePath in files) 
     { 
      xmlFilePath.Add(filePath); 

     } 

     foreach (string file in files) 
     { 
      string fileName =Path.GetFileNameWithoutExtension(file); 
      Version.Add(fileName); 
     } 

    } 
    catch (System.Exception ex) 
    { 
     lbl_notifications.Text = ex.Message; 
    } 
} 
+0

您可以提供用於過濾.xml文件格式的過濾器。 – VVN

回答

3

GetFiles方法接受可選參數作爲searchpattern(*搜索字符串以匹配路徑中文件的名稱)。

在您的情況下提供.xml過濾器,如下所示,只從目錄中獲取xml文件。

string[] files = Directory.GetFiles(folderDlg.SelectedPath, "*.xml"); 
2

Directory.GetFiles()函數,它接受過濾器的文件類型在搜索中包括,所以你可以很容易地使用"*.xml"僅搜索XML文件過載:

string[] files = Directory.GetFiles(folderDlg.SelectedPath, "*.xml"); 
相關問題