Передача пути в DirectoryInfo из XML - C#

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

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

Коллеги, добрый день. Пытаюсь передать в качестве параметра пути в DirectoryInfo значение из xml файла. При запуске компилятора студия выдает ошибку Illegal characters in path. В чем проблема? Код приложения:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Xml.Linq;
using System.IO;
using System.Collections;
 
namespace WindowsFormsApplication1
{
    class Parser
    {
 
        static string source = "source.xml";
 
        //Insert directory from xml
 
        public string GetDirectory()
        {
 
            var doc = XDocument.Load(source);
 
            var path = doc.Descendants("filesource").First().Value;
 
            return path;
 
        }
 
        public int GetPeriod()
        {
            var doc = XDocument.Load(source);
 
            var per = doc.Descendants("period").First().Value;
 
            int period = Convert.ToInt32(per);
            return period;
        }
 
        //Insert message text from xml
 
        public string GetMessage()
        {
 
            var doc = XDocument.Load(source);
 
            var msg = doc.Descendants("message").First().Value;
 
            return msg;
 
        }
    }

    //Checking files
 
    class FileChecker
    {
 
        static Parser parser = new Parser();

        ArrayList actualFiles = new ArrayList();
        int period = parser.GetPeriod();
        string path = parser.GetDirectory();
 
        public ArrayList SearchFiles()
            
        {
            DirectoryInfo dir = new DirectoryInfo(path); //ОШИБКА ТУТ
            
            foreach (FileInfo item in dir.GetFiles())
            {
                DateTime fileCreation = item.CreationTime;
 
                if (fileCreation >= (DateTime.Now.AddMinutes(-period)))
 
                    actualFiles.Add(item);
            }
 
            return actualFiles;
        }
 
    }

    class LogFile
    {
 
        public DateTime thisDate = new DateTime();
 
        public ArrayList fileList = new FileChecker().SearchFiles();
 
        public void Logging()
        {
 
            string thisDateStr = thisDate.ToString("dd-M-yyyy");
 
            thisDateStr += ".txt";
 
            string logPathAndName = "/logs/" + thisDateStr;
 
            try
            {
 
                //Open the File
 
                StreamWriter sw = new StreamWriter(thisDateStr, true);
 
                foreach (FileInfo file in fileList)
                {
 
                    sw.WriteLine(file.Name + " - " + file.CreationTime + " - сообщение выведено на экран");
 
                }
 
                //close the file
 
                sw.Close();
 
            }
 
            catch (Exception e)
            {
 
                Console.WriteLine("Exception: " + e.Message);
 
            }
 
            finally
            {
 
                Console.WriteLine("Executing finally block.");
 
            }
 
        }
    }
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]

        static void Main()
        {
            LogFile logs = new LogFile();
            logs.Logging();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}
Код xml:
<?xml version='1.0' encoding="UTF-8" ?>
<source>
<configuration>
<filesource>
\\IGUNCHEN\\data
</filesource>
<period>
80
</period>
<message>
Вам пришел новый документ
</message>
</configuration>
</source>
Как можно исправит?

Решение задачи: «Передача пути в DirectoryInfo из XML»

textual
Листинг программы
<filesource>\IGUNCHEN\data</filesource>

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


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

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

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