C#遍历XML文件

以下面的XML文件为例(studentList.xml)

//
<?xml version="1.0" encoding="utf-8" ?>
<Students>
  <Student>
    <Name>张三</Name>
    <Age>18</Age>
    <Sex></Sex>
    <Birthday>1996-06-13</Birthday>
  </Student>
  <Student>
    <Name>呵呵</Name>
    <Age>18</Age>
    <Sex></Sex>
    <Birthday>1996-06-13</Birthday>
  </Student>
  <Type>
   1.0
  </Type>
</Students>
static void Main(string[] args)
        {
            XmlDocument objDoc = new XmlDocument();//1.创建XML文档操作对象
            objDoc.Load("..\\..\\StudentList.xml");//2.加载XML文件到文档对象中
            XmlNode rootNode = objDoc.DocumentElement;//3.获取XML文档根目录
            List<Student> list = new List<Student>();//创建对象集合
            foreach(XmlNode node in rootNode.ChildNodes)//4.遍历根节点(根节点包含所有节点)
            {
                if (node.Name == "Student") {
                    //遍历节点存储为对象
                    Student student = new Student();
                    foreach (XmlNode subNode in node)//5.遍历子节点
                    {

                        switch (subNode.Name)//根据子节点的名称封装到对象的属性
                        {
                            case "Name":
                                student.Name = subNode.InnerText;//获取节点名称对应的节点值
                                break;
                            case "Age":
                                student.Age = Convert.ToInt32(subNode.InnerText);
                                break;
                            case "Sex":
                                student.Sex = subNode.InnerText;
                                break;
                            case "Birthday":
                                student.Birthday = Convert.ToDateTime(subNode.InnerText);
                                break;
                        }
                    }
                    list.Add(student);
                }

            }
            foreach(Student stu in list)
            {
                Console.WriteLine($"Name ={stu.Name},Age = {stu.Age}, Sex = {stu.Sex}, Birthday = {stu.Birthday}");
            }
            Console.ReadKey();
        }

运行结果如下:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/Maybe_ch/article/details/81474675