Як користуватися XML у C++
- Вставте показовий приклад XML, бажано з усіма заповненими необов’язковими полями.
- Задайте назву кореневого типу й виберіть, чи потрібен вам допоміжний код, чи лише типи.
- Скопіюйте згенерований код C++ у свій проєкт.
Про XML у C++
Писати класи моделей вручну для великого обсягу XML-даних нудно, і так легко припуститися друкарської помилки. Вставте сюди приклад, і генератор визначить структуру: які поля є, які з них об’єкти чи масиви та який тип має кожне значення. Результат — структури в просторі імен quicktype із функціями from_json і to_json для бібліотеки nlohmann/json.
XML спочатку перетворюється на JSON таким же чином, як у нашому інструменті XML на JSON: атрибути отримують @_ Префікс і зміст тексту поруч з атрибутами називається #text. Типи C++ створюються з цього результату. Результат потребує бібліотеки nlohmann/json з одним заголовним файлом, а також невеликого допоміжного блоку для необов’язкових значень, який уже включено.
Використання згенерованого коду
Включіть заголовку nlohmann json, а потім auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
Факультативні члени використовують std::shared_ptr<T> і є нулевими, коли ключ відсутній.