如何在 C# 中仅从所选文件夹中选择 XML 文件

本文关键字:文件夹 选择 文件 XML | 更新日期: 2023-09-27 18:36:45

我想添加将所选文件夹的所有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;
    }
}

如何在 C# 中仅从所选文件夹中选择 XML 文件

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

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

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

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

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