【发布时间】:2019-06-29 05:40:08
【问题描述】:
我尝试从 Xml 文件中读取数据。 我的计划是将所有学生保存为具有名称和学期的学生对象。
<persons>
<student><name>255211</name><semester>MI</semester></student>
<student><name>255212</name><semester>MI</semester></student>
<student><name>255213</name><semester>MI</semester></student>
</persons>
我找到了 XmlReader 和 switch case 的指南,所以我尝试了一下。
private static void readData()
{
XmlTextReader reader = new XmlTextReader("data.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.Name)
{
case "student":
Student student = new Student();
Students.Add(student);
break;
case "name":
student.name = reader.ReadString();
//Console.WriteLine(student.name);
break;
case "semester":
student.semester = reader.ReadString();
break;
}
}
}
reader.Close();
}
我现在的问题是 Visual Studio Code 给了我一个错误: 错误 CS0165:使用未分配的局部变量 'student'(如果是“name”,则为student.name)。我想这是因为如果代码没有进入“学生”的情况,就不会有 student.name 。我尝试使用 try catch 但这对我没有帮助。
我怎样才能让每个学生的姓名和学期都正确?
【问题讨论】: