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

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

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

Есть файл (примерно) xml такого типа:
Листинг программы
  1. <Lessons>
  2. <Class num="1 класс">
  3. <lesson id="Математика">
  4. <text date="2.09">
  5. Блаблабла
  6. </text>
  7. <text date="5.09">
  8. Блаблабла2
  9. </text>
  10. </lesson>
  11. <lesson id="Русский язык">
  12. <text date="1.09">
  13. Блаблабла
  14. </text>
  15. <text date="2.09">
  16. Блаблабла2
  17. </text>
  18. </lesson>
  19. </Class>
  20. <Class num="2 класс">
  21. <lesson id="Математика">
  22. <text date="2.09">
  23. Блаблабла
  24. </text>
  25. <text date="5.09">
  26. Блаблабла2
  27. </text>
  28. </lesson>
  29. </Class>
  30. </Lessons>
У меня есть алгоритм считывания атрибутов тегов Class и запись их в виде списка строк. Как теперь сделать считывание атрибутов тегов lesson для 1 класса и последующее обращение к (к примеру) "2.09" из "Математика" для "1 класс"?

Решение задачи: «LINQ to XML, обращение к элементу по атрибуту»

textual
Листинг программы
  1. XElement xlessons = XElement.Parse(xml);
  2. foreach (var xclass in xlessons.Elements("Class"))
  3. {
  4.     Console.WriteLine(xclass.Attribute("num").Value);
  5.     foreach (var xlesson in xclass.Elements("lesson"))
  6.     {
  7.         Console.WriteLine("\t" + xlesson.Attribute("id").Value);
  8.         foreach (var xtext in xlesson.Elements("text"))
  9.         {
  10.             Console.WriteLine("\t\t" + xtext.Attribute("date").Value);
  11.         }
  12.     }
  13. }

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


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

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

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы