c#:用xml递归存电脑指定路径的目录
2016-08-17 18:00
369 查看
public static void StoreAllFilesToXml(string directoryPath, string destinationXmlFilePath, XmlNode parentNode, XmlDocument xmlDoc) { bool isFirst = false; if (parentNode == null) { isFirst = true; xmlDoc.CreateXmlDeclaration("1.0", "UTF-8", null); DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); string rootFolder = "directory_root"; parentNode = xmlDoc.CreateElement(rootFolder); XmlAttribute rootName = xmlDoc.CreateAttribute("name"); rootName.Value = directoryInfo.Name; parentNode.Attributes.Append(rootName); } var rootDirectory = new DirectoryInfo(directoryPath); foreach (var directory in rootDirectory.GetDirectories()) { Console.WriteLine("Directory Name: {0}", directory.Name); XmlNode folder = xmlDoc.CreateElement("folder"); XmlAttribute name = xmlDoc.CreateAttribute("name"); name.Value = directory.Name; folder.Attributes.Append(name); parentNode.AppendChild(folder); StoreAllFilesToXml(directory.FullName, @"C:\Users\nhuang\Desktop\a.xml", folder, xmlDoc); } foreach (var file in rootDirectory.GetFiles()) { Console.WriteLine("parentNode"+parentNode.Name); Console.WriteLine("File Name: {0}", file.Name); XmlNode fileName = xmlDoc.CreateElement("fileName"); fileName.InnerText = file.Name; parentNode.AppendChild(fileName); } if(isFirst) { xmlDoc.AppendChild(parentNode); using (XmlTextWriter xmlTextWriter = new XmlTextWriter(destinationXmlFilePath, Encoding.UTF8) { Formatting = Formatting.Indented, IndentChar = '\t', Indentation = 1 }) { xmlDoc.Save(xmlTextWriter); } } }
使用时
XmlNode temp = null; XmlDocument xmlDoc = new XmlDocument(); StoreAllFilesToXml(@"C:\Users\nhuang\Documents\学习资料", @"C:\Users\nhuang\Desktop\a.xml", temp, xmlDoc); ReadXmlFromFile(@"C:\Users\nhuang\Desktop\a.xml");
相关文章推荐
- C#取得指定路径下所有目录及文件名称(可递归)
- C#遍历指定目录的递归-完美改进版+完整程序源码
- c# 取得指定目录下的所有子目录名(不含路径)
- C#取得指定路径下所有目录及文件名称
- C#遍历指定目录的递归-完美改进版+完整程序源码
- c# 根据XML递归还原路径
- 递归实现指定目录下的Java文件的绝对路径
- IO流_递归输出指定目录下所有的java文件的绝对路径案例
- C#打开指定目录,并将焦点放在指定文件上。相对路径(程序起动的目录)
- C# 使用 DirectoryInfo 递归指定目录中的所有目录及文件
- 实现递归遍历指定目录,打印目录下的文件名(全路径)。
- 取得指定路径下所有目录及文件名称(递归)
- C#遍历指定路径下的目录
- 简单的C# 保存内容到指定路径下的XML文件中方法
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- 递归列出指定目录下的所有文件的绝对路径
- File类,列出当前指定路径下的所有内容,目录中包含的目录不关心,递归打破肘挚,学习
- 【原创】C# 递归获取指定目录的子目录及其所有文件
- php 递归获取指定目录下,所有子级、孙级文件路径。
- java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~