C# C:我应该使用什么:数组或数组列表或列表列表?
我在学C,我需要一些建议 我正在尝试从XML文件创建用户Active Directory。这些用户是学生和教师。对于每个用户,我需要他的名字、姓氏、生日来生成他的登录名、密码 一个学生只能是班上一个小组的成员。 一名教师可以有一个或多个小组课在他任教的地方。 我需要的所有信息都在XML中 在powershell中,它的工作原理如下: 学生:tab[姓名、姓氏、出生日期、登录名、组],也在 C 教师:选项卡[姓名、姓氏、出生日期、登录名、选项卡[组]] 我怎样才能用C来做这个?我尝试使用3D阵列,但它很难看,而且在数百名用户中性能不是很好。。。 有没有更好的方法来处理列表?ArrayList 对不起,我英语不好 感谢您的帮助和代码^^ 教师的XML示例:C# C:我应该使用什么:数组或数组列表或列表列表?,c#,xml,arrays,list,C#,Xml,Arrays,List,我在学C,我需要一些建议 我正在尝试从XML文件创建用户Active Directory。这些用户是学生和教师。对于每个用户,我需要他的名字、姓氏、生日来生成他的登录名、密码 一个学生只能是班上一个小组的成员。 一名教师可以有一个或多个小组课在他任教的地方。 我需要的所有信息都在XML中 在powershell中,它的工作原理如下: 学生:tab[姓名、姓氏、出生日期、登录名、组],也在 C 教师:选项卡[姓名、姓氏、出生日期、登录名、选项卡[组]] 我怎样才能用C来做这个?我尝试使用3D阵列,
<DATA>
-<PERSONS>
--<PERSON ID="6022">
---<NAME>DOE</NAME>
---<SURNAME>John</SURNAME>
---<BIRHDATE>1952-06-29</DATE_NAISSANCE>
--</PERSON>
--...
-</PERSONS>
-<CLASSES>
--<CLASS CODE="3A">
---<TEACHERS>
----<TEACHER ID="6022">
-----<SUBJECT>Maths</SUBJECT>
----</TEACHER>
---</TEACHERS>
--</CLASS>
--<CLASS CODE="5D">
---<TEACHERS>
----<TEACHER ID="6022">
-----<SUBJECT>Maths</SUBJECT>
----</TEACHER>
---</TEACHERS>
--</CLASS>
...
-</CLASSES>
</DATA>
你可能想看看 您可以通过调用XDocument.Parse创建一个 例如:
我不完全确定您在寻找什么:您现在正在使用一个要更改的数组做什么?你是说每个人只是数组中的一个字符串球吗?根据您所说的,您应该真正创建一个Person类,该类的属性由学生和教师共享,然后再创建两个类,学生和教师,都继承自该类。在这一点上,在Student上有一个Class string属性,而在Teacher上有一个ClassesTaught List
此时,您将把所有数据解析为单个Person对象,并将它们添加到列表
var xml = @"<DATA>
<PERSONS>
<PERSON ID=""6022"">
<NAME>DOE</NAME>
<SURNAME>John</SURNAME>
<BIRHDATE>19520629</BIRHDATE>
</PERSON>
</PERSONS>
<CLASSES>
<CLASS CODE=""3A"">
<TEACHERS>
<TEACHER ID=""6022"">
<SUBJECT>Maths</SUBJECT>
</TEACHER>
</TEACHERS>
</CLASS>
<CLASS CODE=""5D"">
<TEACHERS>
<TEACHER ID=""6022"">
<SUBJECT>Maths</SUBJECT>
</TEACHER>
</TEACHERS>
</CLASS>
</CLASSES>
</DATA>";
var doc = XDocument.Parse(xml);
var peopleElements = doc
.Elements("DATA")
.Elements("PERSONS")
.Elements("PERSON");
var q = from person in peopleElements
select new {
Name = person.Element("NAME").Value,
BirthDate = person.Element("BIRHDATE").Value
};
var peopleList = q.ToList();