【发布时间】:2017-04-21 22:25:15
【问题描述】:
我的任务是创建具有创建文件和文件夹层次结构的 XML 文件的功能的 windows 窗体。我实际上设法做到了,但是遇到了一些麻烦。这是我的代码:
public static XElement xmlTreeView(DirectoryInfo dir)
{
XDocument xmlDocument = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("Create an XML file containing complete hierarchy of files and folders for a specified folder"));
var info = new XElement("Directory", new XAttribute("name", dir.Name));
foreach (var subDir in dir.GetDirectories())
{
info.Add(new XElement("SubDirectory", new XAttribute("name", subDir.Name),
new XElement("FilesInFolder", subDir.GetFiles().Length)));
foreach (var file in subDir.GetFiles())
{
info.Add(new XElement("File", new XAttribute("name", file.Name),
new XElement("Size", file.Length),
new XElement("CreationTime", file.CreationTime),
new XElement("LastAccess", file.LastAccessTime),
new XElement("LastModified", file.LastWriteTime)));
}
}
foreach (var file in dir.GetFiles())
{
info.Add(new XElement("File", new XAttribute("name", file.Name),
new XElement("Size", file.Length),
new XElement("CreationTime", file.CreationTime),
new XElement("LastAccess", file.LastAccessTime),
new XElement("LastModified", file.LastWriteTime)));
}
return info;
}
问题是每个文件夹必须有大小以及文件夹中有多少文件......我试图计算文件夹的大小,但我做不到。我能够显示子文件夹中有多少文件,但所有这些文件都没有显示在 XElement“子目录”中。如果我删除 subdir 中的第二个 foreach,则甚至没有显示文件。请帮忙。
【问题讨论】:
-
好问题,你应该给它一个更好的标题!
-
第一个问题...:) 不知道如何命名...
-
好的,等一下,为你做点什么!