isi Rajah Ответов: 1

Как загрузить узел XML в объект свойства C#


Привет Ребята

Мне нужна помощь пожалуйста
Я пытаюсь просто импортировать XML и нуждаюсь в некоторых советах

у меня есть XML, который имеет родительские узлы и некоторые дочерние узлы.
когда мой импорт выполняется, я в настоящее время импортирую элементы родительского узла в свой объект C# с помощью
xmlSerializer.Deserialize(XMLString)


Объект, в который я загружаю свою нагрузку, - это объект клиента


В моем клиентском объекте у меня есть свойство order которое является еще одним классовым объектом в моем проекте

пример моего XML-кода таков

<клиент>
<имя>x
<фамилия>y
<заказы>
<заказать>
<orderno>QA122
<заказать>
<заказать>
<orderno>QA125
<заказать>



таким образом в настоящее время клиентский объект загружает значения нормально но объект заказа равен нулю
я хотел бы знать, как я могу получить объект заказа для загрузки из XML.

Что я уже пробовал:

StringReader stringreader = new StringReader(XMLString);
                    XmlSerializer xmlSerializer = new XmlSerializer(this.GetType());
                    Policy pol = (Policy)xmlSerializer.Deserialize(stringreader);

BillWoodruff

не видя структуры "политики" и образца фактического XML: я не думаю, что мы можем вам помочь.

1 Ответов

Рейтинг:
2

Maciej Los

Ответ очевиден: ваша xml-структура недействительна!

Правильный xml должен выглядеть так:

<clients>
  <client>
    <name>x</name>
    <surname>y</surname>
    <orders>
      <order>
        <orderno>QA122</orderno>
      </order>
      <order>
        <orderno>QA125</orderno>
      </order>
    </orders>
  </client>
</clients>

или:
<clients>
  <client name="x" surname="y">
    <orders>
      <order orderno="QA122" />
      <order orderno="QA125" />
    </orders>
  </client>
</clients>


В зависимости от этого должен быть создан набор классов. Затем вы сможете сериализовать/десериализовать данные.

Для получения более подробной информации, пожалуйста, смотрите:
Введение в сериализацию XML | Microsoft Docs[^]
Класс XmlSerializer (System.Xml.Serialization) | Microsoft Docs[^]
Сериализация и десериализация XML: Часть 1[^]