C#代码:       static void Main(string[] args)
        {
            XmlDocument xml = new XmlDocument();
            xml.Load(@"D:\Students.xml");
            XmlElement elem = xml.DocumentElement;
            foreach (XmlNode Student in elem.ChildNodes)
            {
                if (Student.Name == "ClassA")
                { 
                    foreach(XmlNode stu in Student.ChildNodes)
                    {
                        Console.WriteLine("学生姓名:{0} 年龄:{1} 成绩:{2}",stu["name"].InnerText,stu,stu["age"].InnerText,stu["Result"].InnerText);
                    }
                }
            }
            Console.ReadLine();
        } XML文件的内容:<?xml version="1.0" encoding="gb2312"?> 
  <Students> 
   <ClassA>
     <age>16</age> 
     <name>张林</name> 
     <result>98</result> 
   </ClassA>      <ClassB>
          <age>19</age>
          <name>王海</name>
          <result>68</result>
      </ClassB>      <ClassC>
          <age>15</age>
          <name>刘涛</name>
          <result>78</result>
      </ClassC>
  </Students>  程序执行到: Console.WriteLine("学生姓名:{0} 年龄:{1} 成绩:{2}",stu["name"].InnerText,stu,stu["age"].InnerText,stu["Result"].InnerText);
的时候 抛出异常:未将对象引用到对象的示例   咋回事儿额?XML文件或C#如果错了,麻烦帮忙改改,谢谢了!!!!

解决方案 »

  1.   

    XML不应该这么写。<ClassA>
    应该写成 <Student Class="ClassA"> ... </Student><ClassB>
    应该写成 <Student Class="ClassB"> ... </Student>...
      

  2.   

    我找到错误了
    stu["Result"].InnerText
    应该写成
    stu["result"].InnerText
    突然想起XML是区分大小写的
      

  3.   

    ????这个xml文件设计的别扭啊!!!这逻辑混乱的一塌糊涂啊Students 不是放的学生,放的却是Class,而且还是ClassA,ClassB   ????Class 里面不是是课程,放的却是学生,而且还不是一群学生,反而是一个学生 ?????
    以后谁拿这个xml,谁都得去撞墙!!!
      

  4.   

    我找到错误了
    stu["Result"].InnerText
    应该写成
    stu["result"].InnerText
    突然想起XML是区分大小写的
    正常,粗心犯错误,找半天都找不到
      

  5.   

    回5楼:
       刚学用C#解析XML,我只是用来测试