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); }
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"); }