Десериализация xml в c# классы

170
10 мая 2019, 05:10

В общем есть xml:

<?xml version="1.0" encoding="utf-8" ?>
<UserCollection>
    <users>
        <user>
            <firstname>name</firstname>
            <lastname>family</lastname>
            <nickname>nick</nickname>
            <accesslvl>1</accesslvl>
            <peerid>2</peerid>
            <chatid>3</chatid>
            <messagecount>4</messagecount>
            <simbolcount>4</simbolcount>
        </user>
    </users>
</UserCollection>

и

[Serializable()]
public class user
{
    [XmlElement("firstname")]
    public string firstname { get; set; }
    [XmlElement("lastname")]
    public string lastname { get; set; }
    [XmlElement("accesslvl")]
    public string accesslvl { get; set; }
    [XmlElement("peerid")]
    public string peerid { get; set; }
    [XmlElement("chatid")]
    public string chatid { get; set; }
    [XmlElement("messagecount")]
    public string messagecount { get; set; }
    [XmlElement("simbolcount")]        
    public string simbolcount { get; set; }
    [XmlElement("nickname")]
    public string nickname { get; set; }
}
[Serializable()]
[XmlRoot("UserCollection")]
public class UserCollection
{
    [XmlArray("users")]
    [XmlArrayItem("user", typeof(user))]
    public user[] user { get; set; }
}

десериализую процедурой:

public static void Deserizalise(string path)
{
    if (string.IsNullOrEmpty(path))
    {
        throw new System.ArgumentException("Path is null or empty", nameof(path));
    }
    var serializer = new XmlSerializer(typeof(UserCollection));
    var reader = new StreamReader("data/base/" + path + "/profile.xml");
    profiles = (UserCollection)serializer.Deserialize(reader);
    reader.Close();
}

на выходе получаю profiles = null
Не подскажите где ошибка?

READ ALSO
Библиотека классов C#. Загрузка текстовых файлов в массив строк

Библиотека классов C#. Загрузка текстовых файлов в массив строк

Есть библиотека классов, которая использует большой массив строкЭти строки должны загружаться из 4 текстовых файлов (текстовые файлы - постоянные,...

209
Зачем нужен struct?

Зачем нужен struct?

Объясните пожалуйста, зачем нужна конструкция struct(пример желателен на c#), если можно использовать простые классы?

193
,cdb работа с файлами

,cdb работа с файлами

Может кто нибудь привести примеры работы сcdb файлами? В гугле нашёл только то, что этим форматом не пользуются и вот делайте на чём нибудь...

184