使用System.Xml实现XML文件创建增删改查

实现XML文件的创建,子元素的添加,修改,删除。

引用

using System.Xml;


实现方法如下:

创建XML文件方法

static void CreateXMLFile()

        {

            XmlDocument xdoc = new XmlDocument();

            XmlElement root = xdoc.CreateElement("MOVIES");

            xdoc.AppendChild(root);

            Console.WriteLine(xdoc.InnerXml);

            xdoc.Save("movies.xml");//可以指定存储路径

        }


添加元素方法:

static void AddRecordToXML()

        {

            XmlDocument xdoc = new XmlDocument();

            xdoc.Load("movies.xml");

            XmlNode root = xdoc.SelectSingleNode("MOVIES");

            XmlElement movie = xdoc.CreateElement("MOVIE");

            root.AppendChild(movie);

            XmlAttribute id = xdoc.CreateAttribute("Id");

            id.Value = xdoc.SelectNodes("MOVIES/MOVIE").Count.ToString();  //"1";

            movie.Attributes.Append(id);

            XmlElement title = xdoc.CreateElement("Title");

            title.InnerText = "The Godfather";

            movie.AppendChild(title);

            Console.WriteLine(xdoc.InnerXml);

            xdoc.Save("movies.xml");

        }


读取元素方法:

static void ReadRecords()

        {

            XmlDocument xdoc = new XmlDocument();

            xdoc.Load("movies.xml");

            XmlNodeList nodes = xdoc.SelectNodes("MOVIES/MOVIE");

            foreach (XmlNode node in nodes)

            {

                //Console.WriteLine(node.Attributes[0].Value);

                //Console.WriteLine(node.ChildNodes[0].InnerText);

                Console.WriteLine($"{node.Attributes[0].Value}  {node.ChildNodes[0].InnerText}");

            }

        }


更新元素方法:

static void UpdateRecords()

        {

            XmlDocument xdoc = new XmlDocument();

            xdoc.Load("movies.xml");

            XmlNode tgNode = xdoc.SelectSingleNode("MOVIES/MOVIE[@Id=1]/Title");

            tgNode.InnerText = "Goodfellas";

            Console.WriteLine(xdoc.InnerXml);

            xdoc.Save("movies.xml");//可以指定存储路径

        }



删除元素方法:

static void DeleteRecords()

        {

            XmlDocument xdoc = new XmlDocument();

            xdoc.Load("movies.xml");

            Console.WriteLine($"File Load ...: {xdoc.InnerXml}");

            var root = xdoc.SelectSingleNode("MOVIES");

            Console.WriteLine($"Root Node: {root.InnerXml}");

            var tgNode = root.SelectSingleNode("MOVIE[Title='Lord of the Rings']"); //xdoc.SelectSingleNode("MOVIES/MOVIE");

            Console.WriteLine($"Target Node:{tgNode.InnerXml}");

            var tgNode2 = root.SelectSingleNode("MOVIE[@Id=3]");

            Console.WriteLine($"Target Node2:{tgNode2.InnerXml}");

            root.RemoveChild(tgNode2);

            Console.WriteLine("\n======================\n");

            Console.WriteLine($"Child Node deleted: {xdoc.InnerXml}");

            xdoc.Save("movies.xml");

        }


测试方法:

static void Main(string[] args)

 {

            CreateXMLFile();

            AddRecordToXML();

            ReadRecords();

            UpdateRecords();

            DeleteRecords();

            Console.Read();

 }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容