C#-从FolderBrowserDialog中选择DataGridView后,在其中显示文件
本文关键字:在其中 显示文件 DataGridView 选择 FolderBrowserDialog C#- | 更新日期: 2023-09-27 18:21:53
我正试图用visualstudio编写一个windows窗体应用程序,该应用程序使用LINQ读取XML文件。到目前为止,我设法使用FolderBrowserDialog浏览文件夹,并在文本框中显示路径。
现在,我想在程序中使用LINQ从XML文件中读取文件夹的路径,在FolderBrowserDialog中选择文件夹后,在DataGridView中显示该文件夹的子文件和子文件夹(仅名称、大小和路径)。
我的XML代码是:
<?xml version="1.0" encoding="utf-8"?>
<Info>
<Hour>10</Hour>
<Folder>C:'Test</Folder>
</Info>
我设法读取了Hour值,但我无法访问和使用Folder,因为我不知道如何使用LINQ访问XML文件中的路径。我试着做这样的事情,但我无法继续:
var _query2 = from p in document.Descendants("Folder")
select p;
之后,我想在DataGridView中显示子文件的名称、大小和类型,我写了这个类,但无法管理从哪里开始。
public class Info
{
public string name;
public char type;
public float size;
public List<string> IGrid //hold information of folder's size, name, type
{
get {return IGrid;}
}
public Info (string _name, char _type, float _size)
{
name = _name;
type = _type;
size = _size;
}
}
你能帮帮我吗?
使用XmlDocument xmlDoc = new XmlDocument();
读取xml文件。
将文件名传递给XmlTextReader xmlReader = new XmlTextReader(streFileName);
使用XmlValidatingReader xmlValidatingReader = new XmlValidatingReader(xmlReader);
验证xml和读取。
选择像这样的linq
或lambda
表达式
xmlDoc.SelectNodes("specify the parent node").Cast<'XmlNode>().Where(x => x.Name == "check for condition").Select(x => x.InnerText);
我认为这将有助于阅读文件。