powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плиз с классом диссериализации XML
4 сообщений из 4, страница 1 из 1
Помогите плиз с классом диссериализации XML
    #38962454
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, пытаюсь дессериализовать XML вида:


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0"?>
<protocol msg="" xmlns="http://schemas.fsgs.ru/esso/controls/protocol-1-0">
  <title>
    <item name="1" value="2" />
  </title>
  <group type ="notLoad" msg="" >
    <load type="Тест 2" msg="Тест" />
    <load type="Тест 3" msg="Тест4" />
  </group>
</protocol>




Для этого создал классы:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
[XmlRoot("protocol", Namespace = "http://schemas.fsgs.ru/esso/controls/protocol-1-0")]
    public class Protocol
    {
        
        [XmlAttribute("msg")]
        public string MSG { get; set; }

        [XmlArray("title")]
        [XmlArrayItem("item", typeof(ProtocolItem))]
        public List<ProtocolItem> Data { get; set; }

        [XmlArray("group")]
        [XmlArrayItem("load", typeof(LoadItem))]
        public List<LoadItem> LoadItem { get; set; }
    }

public class LoadItem
    {
        [XmlAttribute("type")]
        public string Type { get; set; }

        [XmlAttribute("msg")]
        public string Msg { get; set; }
    }

public class ProtocolItem
    {
        [XmlAttribute("name")]
        public string Name { get; set; }
        [XmlAttribute("value")]
        public string Value { get; set; }
    }




XML дессериализация проходит нормально но вот атрибуты group (type и msg) никак не получается вытащить. подскажите пожалуйста как получить их значения?
...
Рейтинг: 0 / 0
Помогите плиз с классом диссериализации XML
    #38962462
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snak2013Доброго времени суток, пытаюсь дессериализовать XML вида:


Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0"?>
<protocol msg="" xmlns="http://schemas.fsgs.ru/esso/controls/protocol-1-0">
  <title>
    <item name="1" value="2" />
  </title>
  <group type ="notLoad" msg="" >
    <load type="Тест 2" msg="Тест" />
    <load type="Тест 3" msg="Тест4" />
  </group>
</protocol>




Для этого создал классы:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
[XmlRoot("protocol", Namespace = "http://schemas.fsgs.ru/esso/controls/protocol-1-0")]
    public class Protocol
    {
        
        [XmlAttribute("msg")]
        public string MSG { get; set; }

        [XmlArray("title")]
        [XmlArrayItem("item", typeof(ProtocolItem))]
        public List<ProtocolItem> Data { get; set; }

        [XmlArray("group")]
        [XmlArrayItem("load", typeof(LoadItem))]
        public List<LoadItem> LoadItem { get; set; }
    }

public class LoadItem
    {
        [XmlAttribute("type")]
        public string Type { get; set; }

        [XmlAttribute("msg")]
        public string Msg { get; set; }
    }

public class ProtocolItem
    {
        [XmlAttribute("name")]
        public string Name { get; set; }
        [XmlAttribute("value")]
        public string Value { get; set; }
    }




XML дессериализация проходит нормально но вот атрибуты group (type и msg) никак не получается вытащить. подскажите пожалуйста как получить их значения?

почему у вас <group type ="notLoad" msg="" > тоже имеют атрибуты? хотя в класса это не как не отражено. Вы казали, что group это массив, а у массива не может быть атрибутов
...
Рейтинг: 0 / 0
Помогите плиз с классом диссериализации XML
    #38962482
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snak2013,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
        [XmlRoot("protocol", Namespace = "http://schemas.fsgs.ru/esso/controls/protocol-1-0")]
        public class Protocol
        {

            [XmlAttribute("msg")]
            public string MSG { get; set; }

            [XmlArray("title"), XmlArrayItem("item")]
            public List<ProtocolItem> Data { get; set; }

            [XmlElement("group")]
            public Group Group { get; set; }

        }

        public class LoadItem
        {
            [XmlAttribute("type")]
            public string Type { get; set; }
            [XmlAttribute("msg")]
            public string Msg { get; set; }
        }

        public class Group
        {
            [XmlElement("load")]
            public List<LoadItem> Items { get; set; }
            [XmlAttribute("type")]
            public string Type { get; set; }
            [XmlAttribute("msg")]
            public string Msg { get; set; }
        }



        public class ProtocolItem
        {
            [XmlAttribute("name")]
            public string Name { get; set; }
            [XmlAttribute("value")]
            public string Value { get; set; }
        }
...
Рейтинг: 0 / 0
Помогите плиз с классом диссериализации XML
    #38962550
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Mejtes, Большое спасибо за помощь.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите плиз с классом диссериализации XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]