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#如果错了,麻烦帮忙改改,谢谢了!!!!
{
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#如果错了,麻烦帮忙改改,谢谢了!!!!
应该写成 <Student Class="ClassA"> ... </Student><ClassB>
应该写成 <Student Class="ClassB"> ... </Student>...
stu["Result"].InnerText
应该写成
stu["result"].InnerText
突然想起XML是区分大小写的
以后谁拿这个xml,谁都得去撞墙!!!
stu["Result"].InnerText
应该写成
stu["result"].InnerText
突然想起XML是区分大小写的
正常,粗心犯错误,找半天都找不到
刚学用C#解析XML,我只是用来测试