Задача: Как десериализировать XML документ в C# объекты
Инструменты: C#
Решение: Для десериализации XML в C# объекты нужно выполнить следующие этапы:
- Подготовим xml документ. Для примера будем использовать следующий xml:
- Подготовим C# объект для сериализации/десериализации
[Serializable]
[XmlRoot(ElementName = "test", Namespace = "")]
public class Test
{
[XmlElement("title")]
public string Title { get; set; }
[XmlElement("resource_path")]
public string ResourcePath { get; set; }
[XmlElement("date")]
public string Date { get; set; }
[XmlElement("time")]
public string Time { get; set; }
}
- Напишем код для десериализации. На вход передаем файл, в результате получим десериализированный объект
using System.Xml.Serialization;
...
private T Load
- Пример использования
var xmlTests = Load
PS: В Visual Studio есть неплохой инструмент, который может помочь создать набор классов по существующему xml документу. Для этого нужно скопировать xml текст, в Visual Studio создать новый файл и выбрать пункт меню Edit -> Paste Special -> Paste XML as Classes