【发布时间】:2013-08-16 18:27:35
【问题描述】:
我有一个Student.xml 和Lecturer.xml。当用户创建一个新学生时,他必须输入姓名、姓氏,然后从我的Lecturer.xml 加载的列表中选择一位讲师。
我如何获得讲座列表:
if (File.Exists("lecturer.xml"))
{
XElement lecturelist = XElement.Load("lecturer.xml"); Console.WriteLine("Select a lecturer:"); foreach (var mainelement in lecturelist.Elements()) { foreach (var subelement in mainelement.Elements()) { if (subelement.Name == "Name") Console.Write("Lecturer: {0}", subelement.Value); if (subelement.Name == "Surname") Console.Write(", {0}", subelement.Value); if (subelement.Name == "Specialisation") Console.Write(" Subject: {0} \n", subelement.Value); } } Console.ReadLine();}
否则 { Console.WriteLine("讲师.xml 文件丢失或损坏...");
Console.ReadLine();}
现在这会创建一个讲座列表 示例:
讲师:John, Kingsley 主题:数学
讲师:Ben,Hur 主题:英语
如何更改我的代码以使其显示:
1 - 讲师:John, Kingsley 主题:数学
2 - 讲师:Ben,Hur 主题:英语
这样用户可以输入 1 或 2 来选择讲师?
【问题讨论】:
-
在
foreach循环之前定义一个整数,将其初始值设置为1,然后将Console.Write("Lecturer: {0}", subelement.Value);改为Console.Write("{0} - Lecturer: {1}", number, subelement.Value);。不要忘记增加整数。 -
我假设您想将此值拉入应用程序?
-
@ Malachi 是的,必须使用该号码,以便我可以将讲师保存到我的 student.xml 文件中。
-
然后你需要将它添加到你的讲师文件中作为每个讲师的“id”。您真的不想仅根据文件中的顺序对它们进行编号,因为它们可能会被重新排序。您可以在 UI 中向用户显示一个与教师 ID 不同的数字,但不要将 UI 选择存储为 ID。
-
是的,类似的。就像@Malachi 所说的,xml 通常用于传递数据,但它可以用于数据持久性(如数据库),但是您肯定需要添加 id 以使其可维护。