Пример #1
0
 public bool CreateXmlFile(string filePath, XMLContentModel node)
 {
     try
     {
         XmlWriterSettings _setting = new XmlWriterSettings();
         _setting.Indent             = true;
         _setting.IndentChars        = (" ");
         _setting.CloseOutput        = true;
         _setting.OmitXmlDeclaration = false; //False: show xml version=1.0 encoding=utf-8, true: hidden
         using (XmlWriter writer = XmlWriter.Create(filePath, _setting))
         {
             if (node.RootName.Length == 0)
             {
                 return(false);
             }
             if (node.Comment.Length > 0)
             {
                 writer.WriteComment(node.Comment);
             }
             writer.WriteStartElement(node.RootName);
             WriteNode(writer, node.Nodes);
             writer.WriteEndElement();
             //
             writer.Flush();
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine(ex.Message);
     }
     return(false);
 }
Пример #2
0
        public void Main()
        {
            string _filePath = Path.Combine(Environment.CurrentDirectory, "Employee.xml");

            #region " [ Convert object to xml string ] "

            //Model _model = new Model()
            //{
            //    ID = "1",
            //    Name = "Hung",
            //    Address = "Go vap",
            //    Age = 23,
            //    BirthDay = DateTime.Now.AddYears(-27),
            //    Phone = "212",
            //    List = new List<ModelDetail>()
            //    {
            //        new ModelDetail() { DetailID = 1, ProductID = 1, CreateDate = DateTime.Now },
            //        new ModelDetail() { DetailID = 2, ProductID = 2, CreateDate = DateTime.Now.AddYears(1) }
            //    }
            //};
            //string _xml = ConvertToXML(_model);
            //_xml = FormatXmlContent(_xml);
            //FileHelper.WriteFile(Path.Combine(Environment.CurrentDirectory, "Employee.xml"), _xml, false);

            #endregion

            #region " [ Convert xml content to Object model ] "

            //string _xmlContent = FileHelper.ReadTextFile(Path.Combine(Environment.CurrentDirectory, "Employee.xml"));
            //Console.WriteLine("");
            //Console.WriteLine("");
            //Console.WriteLine(_xmlContent);
            //Model _model = ConvertToObject(_xmlContent, typeof(Model)) as Model;
            //Console.WriteLine("");
            //Console.WriteLine("");
            //Console.WriteLine("");

            #endregion

            //ReadAttribute(_filePath, "ID", "");
            //ReadAttribute(_filePath, "Details", "ProductID");
            //ReadAttribute(_filePath, "ProductID", "Node");
            //GetAttributeValueInSingleNodeFromXmlFile(_filePath, "/Employee/Details/DetailID/@ID");
            XMLContentModel classModel = new XMLContentModel()
            {
                RootName = "Classes",
                Comment  = "",
                Nodes    = new List <XMLNodeModel>()
                {
                    new XMLNodeModel()
                    {
                        Data = new XmlNodeData()
                        {
                            Name  = "Class",
                            Value = ""
                        },
                        Properties = new List <XmlNodeData>()
                        {
                            new XmlNodeData()
                            {
                                Name  = "ID",
                                Value = "10A1"
                            },
                            new XmlNodeData()
                            {
                                Name  = "Name",
                                Value = "Class 10A1"
                            },
                            new XmlNodeData()
                            {
                                Name  = "NumOfStudent",
                                Value = "100"
                            }
                        },
                        Childs = new List <XMLNodeModel>()
                        {
                            new XMLNodeModel()
                            {
                                Data = new XmlNodeData()
                                {
                                    Name  = "Employees",
                                    Value = ""
                                },
                                Childs = new List <XMLNodeModel>()
                                {
                                    new XMLNodeModel()
                                    {
                                        Data = new XmlNodeData()
                                        {
                                            Name  = "Student",
                                            Value = ""
                                        },
                                        Properties = new List <XmlNodeData>()
                                        {
                                            new XmlNodeData()
                                            {
                                                Name  = "Name",
                                                Value = "Hung"
                                            },
                                            new XmlNodeData()
                                            {
                                                Name  = "Birthday",
                                                Value = DateTime.Now.ToString()
                                            }
                                        },
                                        Childs = new List <XMLNodeModel>()
                                        {
                                            new XMLNodeModel()
                                            {
                                                Data = new XmlNodeData()
                                                {
                                                    Name  = "Address",
                                                    Value = "Go Vap"
                                                }
                                            },
                                            new XMLNodeModel()
                                            {
                                                Data = new XmlNodeData()
                                                {
                                                    Name  = "Email",
                                                    Value = "*****@*****.**"
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            CreateXmlFile(Path.Combine(Environment.CurrentDirectory, "CreateEmployee.xml"), classModel);
            RemoveNode(Path.Combine(Environment.CurrentDirectory, "CreateEmployee.xml"), "/Classes/Class/Employees/Student/Email");
        }