xml读取出路径还原出文件
如何通过从xml读取出来的文件路径还原出文件,要跟存储的文件的层次结构相同。现在已经获得路径,路径都是这种形式的:C:\test\dfdfsdfd.txt,C:\test\d\dd.txt。
[解决办法]
不知你说的还原是什么意思,如果要使用
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("C:\test\dfdfsdfd.txt");
[解决办法]
递归遍历,然后将路径输出为xml ??
[解决办法]
// 调用var xmlDoc = new XmlDocument();xmlDoc.LoadXml(......);var fdns = xmlDoc.SelectSingleNode("root");Select(fdns);// 两个方法private static void Select(XmlNode node){ var dns = node.SelectNodes("folder"); foreach (XmlNode item in dns) { Make(item); } var fns = node.SelectNodes("file"); foreach (XmlNode item in fns) { Make(item); }}private static void Make(XmlNode node){ var path = node.SelectSingleNode("path").InnerText; var ct = DateTime.Parse(node.SelectSingleNode("created").InnerText); var mt = DateTime.Parse(node.SelectSingleNode("modified").InnerText); FileSystemInfo fsi = null; switch (node.Name) { case "file": { Directory.CreateDirectory(Path.GetDirectoryName(path)); using (var stream = File.Open(path, FileMode.Create)) { stream.WriteByte(0); } fsi = new FileInfo(path); break; } case "folder": { fsi = Directory.CreateDirectory(path); break; } default: break; } fsi.CreationTime = ct; fsi.LastWriteTime = mt; Select(node);}