Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате - C#

Узнай цену своей работы

Формулировка задачи:

Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном формате. XML записать в директорию рядом с программой. Есть мысли по поводу с откуда начать?
Хелп

Решение задачи: «Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Xml;
  4.  
  5. static class Program
  6. {
  7.     static void FilesWalk(DirectoryInfo root, XmlWriter writer)
  8.     {
  9.         FileInfo[] files = null;
  10.         DirectoryInfo[] subDirs = null;
  11.         try
  12.         {
  13.             files = root.GetFiles("*.*");
  14.         }
  15.         catch (UnauthorizedAccessException e)
  16.         {
  17.             Console.WriteLine(e.Message);
  18.         }
  19.         catch (DirectoryNotFoundException e)
  20.         {
  21.             Console.WriteLine(e.Message);
  22.         }
  23.  
  24.         if (files != null)
  25.         {
  26.             foreach (FileInfo fi in files)
  27.             {
  28.                 writer.WriteStartElement("File");
  29.  
  30.                 writer.WriteElementString("FullName", fi.FullName);
  31.                 writer.WriteElementString("LastWriteTime", fi.LastWriteTime.ToString());
  32.                 writer.WriteEndElement();
  33.                 //  Console.WriteLine(fi.FullName);
  34.             }
  35.  
  36.             subDirs = root.GetDirectories();
  37.  
  38.             foreach (DirectoryInfo dirInfo in subDirs)
  39.             {
  40.                 FilesWalk(dirInfo, writer);
  41.             }
  42.         }
  43.     }
  44.  
  45.  
  46.     static void Main(string[] args)
  47.     {
  48.  
  49.         // директория для чтения файлов
  50.         var dirPath = @"C:/Users/User/Documents";
  51.  
  52.         // куда соранять xml
  53.         var xmlPath = Path.GetDirectoryName(Environment.GetCommandLineArgs()[0]);
  54.  
  55.         DirectoryInfo dirInfo = new DirectoryInfo(dirPath);
  56.  
  57.         XmlWriterSettings settings = new XmlWriterSettings { Indent = true };
  58.         using (XmlWriter writer = XmlWriter.Create(xmlPath + "\\FileList.xml", settings))
  59.         {
  60.             writer.WriteStartDocument();
  61.             writer.WriteStartElement("Files");
  62.  
  63.             // рекурсивный обход
  64.             FilesWalk(dirInfo, writer);
  65.  
  66.             writer.WriteEndElement();
  67.             writer.WriteEndDocument();
  68.         }
  69.  
  70.         Console.ReadKey(true);
  71.     }
  72. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы