我有一個任務是創建帶有功能的Windows窗體,以創建文件和文件夾層次結構的XML文件。我確實設法做到了,但遇到了一些麻煩。這裏是我的代碼:從目錄樹中生成XML時發生遞歸問題
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「SubDirectory」中。如果我刪除子目錄中的第二個foreach,而不是甚至沒有顯示的文件。請幫助。
好問題,你應該給它一個更好的標題! – Aybe
第一個問題...... :)不知道如何命名它...... –
好吧,繼續,爲你製作一些東西! – Aybe