C# XML类学习整理(待补)

一、读取xml文件内容:

       #region "获取xml文件内容"
            //将xml文件加载进来
            XDocument xdoc = XDocument.Load("F:\6.2    \DelegateExample\XmlConsole\XMLFile.xml");
            //获取xml根元素操作
            XElement root = xdoc.Root;
            XElement elem = root.Element("book");
            //获取name标签的值
            XElement name = elem.Element("name1");
            Console.WriteLine(name.Value);
            Console.WriteLine("------------------------");
            //获取根元素下的所有子元素
            IEnumerable<XElement> element = root.Elements();
            foreach (XElement item in element)
            {
                foreach (XElement item1 in item.Elements())
                {
                    Console.WriteLine(item1.Value);
                }
                Console.WriteLine("------------------------");
                Console.WriteLine(item.Attribute("id").Value);
                Console.ReadKey();
            }
            #endregion                

二、写入xml内容:

       //获取根节点元素
            XDocument xdocument = new XDocument();
            XElement roo = new XElement("b");
            XElement root2 = new XElement("book",new XElement("name3","3333",new XAttribute("id","3")));

            XElement name1 = new XElement("name1");
            XElement root3 = new XElement("student");
            root2.SetElementValue("name1","1111"); 
            root2.SetElementValue("name2", "2222"); 
            
            root3.SetAttributeValue("student1","33333");
            root3.SetElementValue("student2","44444");
            roo.Add(name1);
            roo.Add(root2);
            roo.Add(root3);
            roo.Save("D://XMLfile.xml");
            Console.ReadKey();

三、XMLNode 为抽象类,提供一些操作节点的方法

      //取根结点
          var root = xmlDoc.DocumentElement;//取到根结点
         //取指定的单个结点
          XmlNode oldChild =     xmlDoc.SelectSingleNode("BookStore/NewBook");
         
         //取指定的结点的集合
          XmlNodeList nodes = xmlDoc.SelectNodes("BookStore/NewBook");

         //取到所有的xml结点
          XmlNodeList nodelist = xmlDoc.GetElementsByTagName("*");        

新增 Add、删除(Remove)、修改节点和属性SetAttributeValue() + save(),

RemoveChild  --移除节点       RemoveAttribute --移除属性

五、linq to xml(xml增删改查)

原文地址:https://www.cnblogs.com/wangzhe688/p/7680553.html