Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате - C#
Формулировка задачи:
Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном формате.
XML записать в директорию рядом с программой.
Есть мысли по поводу с откуда начать?
Хелп
Решение задачи: «Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате»
textual
Листинг программы
using System; using System.IO; using System.Xml; static class Program { static void FilesWalk(DirectoryInfo root, XmlWriter writer) { FileInfo[] files = null; DirectoryInfo[] subDirs = null; try { files = root.GetFiles("*.*"); } catch (UnauthorizedAccessException e) { Console.WriteLine(e.Message); } catch (DirectoryNotFoundException e) { Console.WriteLine(e.Message); } if (files != null) { foreach (FileInfo fi in files) { writer.WriteStartElement("File"); writer.WriteElementString("FullName", fi.FullName); writer.WriteElementString("LastWriteTime", fi.LastWriteTime.ToString()); writer.WriteEndElement(); // Console.WriteLine(fi.FullName); } subDirs = root.GetDirectories(); foreach (DirectoryInfo dirInfo in subDirs) { FilesWalk(dirInfo, writer); } } } static void Main(string[] args) { // директория для чтения файлов var dirPath = @"C:/Users/User/Documents"; // куда соранять xml var xmlPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]); DirectoryInfo dirInfo = new DirectoryInfo(dirPath); XmlWriterSettings settings = new XmlWriterSettings { Indent = true }; using (XmlWriter writer = XmlWriter.Create(xmlPath + "\\FileList.xml", settings)) { writer.WriteStartDocument(); writer.WriteStartElement("Files"); // рекурсивный обход FilesWalk(dirInfo, writer); writer.WriteEndElement(); writer.WriteEndDocument(); } Console.ReadKey(true); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д