【问题标题】:C# Append in XML file from recursive functionC# 从递归函数追加到 XML 文件中
【发布时间】:2012-07-12 05:07:18
【问题描述】:

我正在尝试创建一个包含文件夹和文件描述的 XML 文件。 我使用递归方法浏览文件夹内容,我想在每次调用时附加数据。

这是我使用的代码:

        DataSet ds = new DataSet("Folders");
        ds.Tables.Add(Folder);
        ds.Tables.Add(Files);
        ds.WriteXml(AppDomain.CurrentDomain.BaseDirectory + "\\FolderList.xml");

能否请您告诉我如何在 xml 文件底部的每个函数调用数据处继续添加?

提前致谢。

【问题讨论】:

  • 最好等所有方法都结束后才写入文件。将数据保存在内存中直到那时

标签: c# xml file recursion append


【解决方案1】:
string rootPath = @"......";
XElement xRoot = new XElement("Root",new XAttribute("Path",rootPath));
RecurseDirs(rootPath, xRoot);
var xmlString = xRoot.ToString();



void RecurseDirs(string root, XElement xRoot)
{
    foreach (var dir in Directory.EnumerateDirectories(root))
    {
        XElement xdir = new XElement("Directory",
                                        new XAttribute("Name",Path.GetFileName(dir)),
                                        new XAttribute("CreationTime",Directory.GetCreationTime(dir)));
        xRoot.Add(xdir);
        RecurseDirs(dir,xdir);
    }

    foreach (var dir in Directory.EnumerateFiles(root))
    {
        XElement xfile = new XElement("File", 
            new XAttribute("Name", Path.GetFileName(dir)),
            new XAttribute("CreationTime", File.GetCreationTime(dir)));
        xRoot.Add(xfile);
    }
}

【讨论】:

  • 我已经能够用你的代码做我想做的事了,非常感谢。
猜你喜欢
  • 2023-03-21
  • 2012-04-11
  • 2012-04-10
  • 2020-05-05
  • 2010-09-08
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多