LINQ to XML, обращение к элементу по атрибуту - C#
Формулировка задачи:
Есть файл (примерно) xml такого типа:
У меня есть алгоритм считывания атрибутов тегов Class и запись их в виде списка строк. Как теперь сделать считывание атрибутов тегов lesson для 1 класса и последующее обращение к (к примеру) "2.09" из "Математика" для "1 класс"?
<Lessons>
<Class num="1 класс">
<lesson id="Математика">
<text date="2.09">
Блаблабла
</text>
<text date="5.09">
Блаблабла2
</text>
</lesson>
<lesson id="Русский язык">
<text date="1.09">
Блаблабла
</text>
<text date="2.09">
Блаблабла2
</text>
</lesson>
</Class>
<Class num="2 класс">
<lesson id="Математика">
<text date="2.09">
Блаблабла
</text>
<text date="5.09">
Блаблабла2
</text>
</lesson>
</Class>
</Lessons>
Решение задачи: «LINQ to XML, обращение к элементу по атрибуту»
textual
Листинг программы
XElement xlessons = XElement.Parse(xml);
foreach (var xclass in xlessons.Elements("Class"))
{
Console.WriteLine(xclass.Attribute("num").Value);
foreach (var xlesson in xclass.Elements("lesson"))
{
Console.WriteLine("\t" + xlesson.Attribute("id").Value);
foreach (var xtext in xlesson.Elements("text"))
{
Console.WriteLine("\t\t" + xtext.Attribute("date").Value);
}
}
}