Beispiel #1
0
        public static void Read(IEnumerable <XElement> doc, int num, Root_system folder1)
        {
            string strN  = "";
            string strN1 = "";

            strN1 = "";
            for (int i = 0; i < num + 1; i++)
            {
                strN1 = strN1 + "\t";
            }
            for (int i = 0; i < num; i++)
            {
                strN = strN + "\t";
            }

            foreach (XElement el in doc)
            {
                //Console.WriteLine(strN+"{0}", el.Name);
                Console.WriteLine(strN + "{0}", el.Attribute("name").Value);
                //foreach (XAttribute attr in el.Attributes())
                //    Console.WriteLine(strN + " Attributes   {0}", attr);
                Root_system temp = null;
                if (el.Name == "folder")
                {
                    temp = new Folder();
                    temp.Load(el);

                    foreach (XElement element in el.Elements())
                    {
                        if (element.Name == "folder")
                        {
                            Console.WriteLine(strN1 + "{0}", element.Attribute("name").Value);
                            //Console.WriteLine(strN + "{0}", element.Name);
                            //foreach (XAttribute attr in element.Attributes())
                            //    Console.WriteLine(strN + " Attributes   {0}", attr);
                            Root_system temp1 = null;
                            temp1 = new Folder();
                            temp1.Load(element);

                            Read(element.Elements(), num + 2, folder1);
                            temp.Add(temp1);
                        }
                        else
                        {
                            Console.WriteLine(strN1 + "{0}", element.Attribute("name").Value);
                            Root_system temp1 = null;
                            temp1 = new composite.File();
                            temp1.Load(element);
                            temp.Add(temp1);
                        }
                    }
                }
                else
                {
                    temp = new composite.File();
                    temp.Load(el);
                }
                folder1.Add(temp);
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Root_system folder1 = null;



            using (StreamWriter sw = new StreamWriter("my.xml", false, System.Text.Encoding.Default))
            {
                string path = @"C:\Users\Mamory\Documents\GitHub\paternProgramming\ConsoleApp1";
                Console.Write("Enter your path:");
                path = Console.ReadLine();
                DirectoryInfo dir    = new DirectoryInfo(path);
                Root_system   folder = new Folder(dir.Name, 0);

                Folder(dir, ref folder);

                // sw.WriteLine("<?xml version=\""+1.0+"\" encoding=\"utf - 8\"?>");
                folder.Save(sw, 0);
            }
            try
            {
                XDocument doc = XDocument.Load("my.xml");
                folder1 = new Folder(doc.Root.Attribute("name").Value, Convert.ToInt32(doc.Root.Attribute("readonly").Value));
                Read(doc.Root.Elements(), 0, folder1);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
Beispiel #3
0
        static void Folder(DirectoryInfo dir, ref Root_system folder)
        {
            foreach (var item in dir.GetDirectories())
            {
                FileInfo    files = new FileInfo(item.FullName);
                Root_system temp  = new Folder(item.Name, Convert.ToInt32(files.IsReadOnly));
                folder.Add(temp);


                Folder(item, ref temp);
            }
            foreach (var itemF in dir.GetFiles())
            {
                FileInfo    file  = new FileInfo(itemF.FullName);
                Root_system tempF = new composite.File(itemF.Name, Convert.ToInt32(file.IsReadOnly), Convert.ToInt32(file.Length), file.CreationTime, Path.GetExtension(file.FullName));
                folder.Add(tempF);
            }
        }