LINQ to XML, обращение к элементу по атрибуту - C#

Узнай цену своей работы

Формулировка задачи:

Есть файл (примерно) xml такого типа:
<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>
У меня есть алгоритм считывания атрибутов тегов Class и запись их в виде списка строк. Как теперь сделать считывание атрибутов тегов lesson для 1 класса и последующее обращение к (к примеру) "2.09" из "Математика" для "1 класс"?

Решение задачи: «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);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы