Если вы еще не читали предыдущую статью, просто нажмите на ссылку ниже! 😆 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.
Хотя я знаю, что это всего лишь очень простой образец, все же сделал заметки или подумываю поделиться. Спасибо за чтение 🙌 😄❤️.