Чтение значения xml внутри тега из класса с сериализацией Xml - PullRequest
0 голосов
/ 28 мая 2019

У меня есть некоторые проблемы с чтением XML-файла. Я должен заполнить тег XML как свойства класса. Есть ли способ решить эту проблему?

Я посмотрел каждую статью сериализации XML. Когда я пытаюсь запустить свой код, я получаю нулевое значение из класса

Вот моя Program.cs

    Log lg = new Log();
        XmlReader reader = XmlReader.Create(@"C:\Logs\Workflow User 
  Functions\2019\05\15\01.xml");
        while (reader.Read())
        {
            if (reader.HasAttributes && lg.date !=null && lg.datetime !=null)
            {
                Console.WriteLine(reader.GetAttribute(lg.date) + 
   reader.GetAttribute(lg.datetime));
            }
        }
        Console.ReadLine();

И мой Log.cs

[XmlAttribute(AttributeName ="date")]
public string date { get; set; }

[XmlAttribute(AttributeName = "datetime")]
public string datetime { get; set; }

Также мой XML-файл, который я пытаюсь получить значение атрибута

<?xml version="1.0"?><Logs version="1" appname="Workflow User Functions" id="fed9fc29-f6bf-4814-8401-f8742ea0ceef" date="15/30/2019 01">
<Log id="" logtype="Error" datetime="30:52" user="workflow" logname="ScheduledJobs.fnExecute_Execute">Process Id : 69705

1 Ответ

0 голосов
/ 29 мая 2019

Спасибо за ваши ответы.

Я сделал несколько изменений, и тогда все заработало.

Program.cs;

                          List<Log> logs = new List<Log>();
                  XmlReader reader = XmlReader.Create(@"C:\Logs\Workflow User 
                          Functions\2019\03\05\13.xml");
                  reader.MoveToContent();
                     while (reader.Read())
      {
      if (reader.HasAttributes)
      {
      var lg = new Log
      {
        date = reader.GetAttribute("date"),
        datetime = reader.GetAttribute("datetime")
      };
    logs.Add(lg);

    Console.WriteLine($"{lg.date} {lg.datetime}");
}

} Console.ReadLine ();

...