如何在 C# 中 select 仅 XML ed 文件夹中的 select 文件?

How to select only XML files from selected folder in C#?

我想将 selected 文件夹的所有 xml 文件添加到 C# 列表中。如果所有文件都只有 xml,则以下代码可以正常工作。

如果同一文件夹中有任何其他文件,我想过滤 xml 个文件。

是否可以使用我现有的代码仅 select 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;
    }
}

Directory.GetFiles() 函数有一个重载,它接受要包含在搜索中的文件类型的过滤器,因此您可以轻松地使用 "*.xml" 仅搜索 XML 文件:

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

GetFiles 方法接受可选参数作为搜索模式(*搜索字符串以匹配路径中的文件名)。

在您的案例中提供 .xml 过滤器,如下所示,以便仅从目录中获取 xml 个文件。

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