新手Xml读写教程

  • 写入

    /// <summary>
            /// 创建写入xml
            /// </summary>
            /// <param name="path"></param>
            /// <param name="filename"></param>
            private static void CreateXmlFile( string path,string filename)
            {
                XmlDocument xmlDoc = new XmlDocument();
                //创建类型声明节点  
                XmlDeclaration xdDec = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
                xmlDoc.AppendChild(xdDec);
    
                //创建根节点  
                XmlElement xeRoot = xmlDoc.CreateElement("sheet1_Info");
                //给节点属性赋值
                xeRoot.SetAttribute("version", "1.0");
                xeRoot.SetAttribute("name", filename);
                xmlDoc.AppendChild(xeRoot);
    
                ////创建并添加<CreationInfo></CreationInfo>节点
                XmlElement xeCreationInfo = xmlDoc.CreateElement("CreationInfo");
                xeCreationInfo.SetAttribute("name", "创建信息");
               
                ////创建并添加<CreatedBy></CreatedBy>节点
                XmlElement xeCreatedBy = xmlDoc.CreateElement("CreatedBy");
                xeCreatedBy.InnerText = "Tektronix Course Editor";
                xeCreationInfo.AppendChild(xeCreatedBy);
    
                ////创建并添加<CreatedTime></CreatedTime>节点
                XmlElement xeCreatedTime = xmlDoc.CreateElement("CreatedTime");
                xeCreatedTime.InnerText = DateTime.Now.ToString();
                xeCreationInfo.AppendChild(xeCreatedTime);
                ////创建并添加<SavedTime></SavedTime>节点
                XmlElement xeSavedTime = xmlDoc.CreateElement("SavedTime");
                xeSavedTime.InnerText = DateTime.Now.ToString();
                xeCreationInfo.AppendChild(xeSavedTime);
    
    
                //悬着根节点,追加元素节点信息
                XmlNode xmlSelect = xmlDoc.SelectSingleNode("sheet1_Info");
                if (xmlSelect != null)
                {
                    xmlSelect.AppendChild(xeCreationInfo);
                }
    
                //创建并添加<a></a>节点
                xeRoot = xmlDoc.CreateElement("a");
                if (xmlSelect != null)
                {
                    xmlSelect.AppendChild(xeRoot);
                }
                //创建并添加<b></b>节点
                xeRoot = xmlDoc.CreateElement("b");
                if (xmlSelect != null)
                {
                    xmlSelect.AppendChild(xeRoot);
                }
                //创建并添加<c></c>节点
                xeRoot = xmlDoc.CreateElement("c");
                if (xmlSelect != null)
                {
                    xmlSelect.AppendChild(xeRoot);
                }
                //保存XML文档
                try
                {
                    xmlDoc.Save(path + "\\" + filename + ".xml");//也可以保存其他后缀名
                }
                catch (Exception ep)
                {
                    Console.WriteLine(ep.Message);
                }
            }
    
  • 读取

      /// <summary>
            /// 读取xml
            /// </summary>
            /// <param name="xmlfile"></param>
            public static void ReadXml(string xmlfile)
            {
                using (XmlReader reader =  XmlReader.Create(xmlfile))
                {
                    while (reader.Read())
                    {
                        var readNode = reader.Name;
                        Console.WriteLine("当前读取节点:"+ readNode);
                        if (readNode== "CreationInfo")
                        {
                            var attribute = reader.GetAttribute("name");
                            Console.WriteLine("CreationInfo的属性值已经找到:" + attribute);
                        }
                    }
                    
                }
            }
    
posted @ 2022-08-21 00:13  码农阿亮  阅读(59)  评论(0编辑  收藏  举报