Разбор XML файла - C#

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

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

Доброго времени суток! Имеется очень большой XML файл вот такого вида (я укоротил его)
Листинг программы
  1. <?xml version="1.0" encoding="windows-1251"?>
  2. <AutoAuditState>
  3. <ImportScenario id="ImpBezen">
  4. <RunState success="0" startDatetime="18 января 2017 г. 2:00:19" packetFileName="D:\_AuditLocal\Archive\2017_01_17_23_00\ExpADS2017_01_17_23_00.xml" logFileName="D:\_AuditLocal\Archive\2017_01_17_23_00\ExpADS2017_01_17_23_00_import.log" stopDatetime="18 января 2017 г. 2:00:57">В процессе импорта обработано: 1378 записей таблицы аудита, 1 семантических записей, 213 графических объектов.
  5. Произошло: 0 предупреждений, 0 ошибок, 0 критических ошибок.
  6. Импорт длился 00:00:34.</RunState>
  7. <RunState success="1" startDatetime="19 января 2017 г. 2:00:16" packetFileName="D:\_AuditLocal\Archive\2017_01_18_08_35\ExpADS2017_01_18_08_35.xml" logFileName="D:\_AuditLocal\Archive\2017_01_18_08_35\ExpADS2017_01_18_08_35_import.log" stopDatetime="19 января 2017 г. 2:00:22">В процессе импорта обработано: 11 записей таблицы аудита, 0 семантических записей, 0 графических объектов.
  8. Произошло: 0 предупреждений, 0 ошибок, 0 критических ошибок.
  9. Импорт длился 00:00:04.</RunState>
  10. <RunState success="1" startDatetime="19 января 2017 г. 2:00:22" packetFileName="D:\_AuditLocal\Archive\2017_01_18_23_00\ExpADS2017_01_18_23_00.xml" logFileName="D:\_AuditLocal\Archive\2017_01_18_23_00\ExpADS2017_01_18_23_00_import.log" stopDatetime="19 января 2017 г. 2:00:50">В процессе импорта обработано: 1088 записей таблицы аудита, 0 семантических записей, 146 графических объектов.
  11. Произошло: 0 предупреждений, 0 ошибок, 0 критических ошибок.
  12. Импорт длился 00:00:24.</RunState></ImportScenario>
  13. </AutoAuditState>
Как получить значения success и startDatetime из ПОСЛЕДНЕГО узла RunState (с самой свежей датой)? Самого нижнего. Второй день уже изучаю xml науку и, честно говоря, уже запутался...

Решение задачи: «Разбор XML файла»

textual
Листинг программы
  1. var success = XDocument.Load("d://file.xml")
  2.                 .Descendants("RunState")
  3.                 .Select(s =>
  4.                     new
  5.                     {
  6.                         startDate = DateTime.Parse(s.Attribute("startDatetime").Value),
  7.                         success = s.Attribute("success").Value
  8.                     })
  9.                 .OrderByDescending(s => s.startDate)
  10.                 .First().success;

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


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

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

6   голосов , оценка 4.333 из 5

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

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

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