Если вы еще не читали предыдущую статью, просто нажмите на ссылку ниже! 😆 https://medium.com/ponpon841028/programming-xml-object-serialization-and-deserialization-part-1-4bc8f75cbe6d?sk=6b79b39f862a1758559b90b6d4b4e902

В последней статье речь идет о Сериализации. Эта статья посвящена десериализации. 🙌

Десериализация - это процесс, противоположный сериализации. Это означает преобразование XML-файла в объект!

Возьмем, к примеру, XML-файл ниже.

Существует объект ListBook, содержащий три объекта Book. Кроме того, у этих трех объектов есть Имя, Цена и Автор свойства.

Кроме того, мы можем видеть другую информацию о XML-файле, такую ​​как номер версии XML, объявление кодировки и пространство имен.

Однако как десериализовать этот XML-файл в объект?

1. Установка элементов / класса

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

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

2. Чтение XML-файла и его десериализация.

Затем загрузите файл Xml и получите InnerXml из xmlDocument. InnerXml - это строковый тип, который позволит мне выполнить StringReader позже.

Затем вызовите функцию XMLToObject, которой XmlSerializer сообщается, что XML-файл должен быть сопоставлен с которым тип объекта. И сделайте десериализацию!

После получения объекта от функции XMLToObject необходимо распаковать тип данных в ListBook.

Итак, десериализация завершена!

3. Посмотрите на объекты!

Наконец, распечатав на консоли, давайте посмотрим, какое содержимое находится в объекте xml_listBook! И имеет ли это смысл?

Кажется… ПРАВИЛЬНО! 😆 😆

Итак, речь идет о десериализации!

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

Хотя я знаю, что это всего лишь очень простой образец, все же сделал заметки или подумываю поделиться. Спасибо за чтение 🙌 😄❤️.