Я читаю некоторые основные данные из стороннего бухгалтерского приложения, которое возвращает XML. Мое приложение отправляет запрос на порт, который прослушивает стороннее приложение, и получает ответ в виде XML. Существуют различные типы основных данных, которые я читаю, например, Employee, BankAccount и т. д. Существует 20-30 различных типов основных данных.
Мне нужно проанализировать XML и заполнить данные объектами .NET. Мне интересно, как я могу уменьшить свои усилия по кодированию.
Мне нужно разработать класс .NET для каждого типа мастера, а затем написать методы синтаксического анализа для анализа ответов XML и заполнения объектов .NET. Поскольку есть 20-30 типов мастеров, каждый из которых имеет свой набор полей, это выглядит слишком много работы для такого стандартного типа кода.
Любые идеи, как я могу уменьшить свои усилия по кодированию, сохраняя при этом преимущества объектно-ориентированного программирования и проверки времени компиляции, функций Intellisense и т. д.?
Вы можете предположить, что XML следует определенному шаблону, например: ...
Как код узнает, какой XML-тег нужно преобразовать в метод или свойство объекта C#? Обратите внимание, что я не ищу генераторы кода. Я хочу, чтобы на основе возвращенного XML код разумно определял, какие поля должны быть заполнены, как нет. Количество полей, возвращаемых в ответе XML, может различаться, и в будущих версиях стороннего бухгалтерского приложения могут появиться новые поля.
Может быть, это невозможно, чего я пытаюсь достичь?
РЕДАКТИРОВАТЬ 1: Может быть любая внешняя информация о сопоставлении (или может быть как встроенный ресурс) - какой тег XML должен быть заполнен в какое свойство класса... Но как это реализовать?