VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • C#教程之C# 读写XML

读XML

复制代码
  XmlDocument xd = new XmlDocument(); 
            string fileName = @"D:\test.xml";
            xd.Load(fileName);
            XmlNodeList xmlNoteList = xd.GetElementsByTagName("user");
            List<User> users = new List<User>();
          
            foreach (XmlElement item in xmlNoteList)
            {
                User user = new User();
                user.Id = int.Parse(item.GetAttribute("id"));
                XmlNodeList xnl = item.ChildNodes;
                user.Name = xnl[0].InnerXml;
                user.Age =int.Parse(xnl[1].InnerXml);
                user.Gender = xnl[2].InnerXml;
                users.Add(user);
           }
            foreach (var item in users)
            {
                Console.WriteLine(item);
            }
复制代码
复制代码
<?xml version="1.0" encoding="gb2312"?>
<users>
    <user id='1'>
        <name >张三</name>
        <age>15</age>
        <gender></gender>
    </user>
    <user id='2'>
        <name>李四</name>
        <age>14</age>
        <gender></gender>
    </user>
</users>
复制代码

写XML

复制代码
            string fileName =@"D:\test.xml";
            XmlDocument xmlDoc = new XmlDocument();
            XmlNode header = xmlDoc.CreateXmlDeclaration("1.0","utf-8",null);

            xmlDoc.AppendChild(header);
            //创建一级节点
            XmlElement rootNode = xmlDoc.CreateElement("users");

            List<User> list = GetUsers();
            foreach (var item in list)
            {
                XmlElement xn = InserUser(item,xmlDoc);
                rootNode.AppendChild(xn);
            }   

            xmlDoc.AppendChild(rootNode);

            xmlDoc.Save(fileName);
        }
        /// <summary>
        /// 创建整个user的元素
        /// </summary>
        /// <param name="user"></param>
        /// <param name="xmlDoc"></param>
        /// <returns></returns>
        private static XmlElement InserUser(User user, XmlDocument xmlDoc)
        {
            XmlElement xn =  xmlDoc.CreateElement("user");
            xn.SetAttribute("id", user.Id + "");
            xn.AppendChild(GetXmlNode(xmlDoc,"name",user.Name));
            xn.AppendChild(GetXmlNode(xmlDoc, "age", user.Age + ""));
            xn.AppendChild(GetXmlNode(xmlDoc, "gender", user.Gender));
            return xn;
        }
        private static XmlElement GetXmlNode(XmlDocument xmlDoc,string name,string value)
        {
            XmlElement xn = xmlDoc.CreateElement(name);
            xn.InnerText = value;
            return xn;
        }
        private static List<User> GetUsers()
        {
            List<User> list = new List<User>();
            for (int i = 0; i < 10; i++)
            {
                User user = new User();
                user.Id = i;
                user.Name = "Name" + i;
                user.Age = 15;
                user.Gender = "男";
                list.Add(user);
            }
            return list;
        }
复制代码

 

实体类

复制代码
  class User
    {
        public int Id { set; get; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string Gender { set; get; }
        public override string ToString()
        {
            return Id +","+Name + "," +Age+"," + Gender;
        }
    }
复制代码

 


相关教程