Come usare XML to C++
- Incolla un esempio XML rappresentativo, idealmente uno con tutti i campi opzionali compilati.
- Imposta il nome del tipo radice e decidi se vuoi anche il codice di supporto o solo i tipi.
- Copia il codice C++ generato nel tuo progetto.
Informazioni su XML to C++
Scrivere a mano le classi modello per un grande payload XML è noioso ed è lì che si insinuano gli errori di battitura. Incolla qui un esempio e il generatore ricava la struttura: quali campi esistono, quali sono oggetti, quali sono array e che tipo ha ogni valore. L'output è costituito da struct in un namespace quicktype, con funzioni from_json e to_json per la libreria nlohmann/json.
L'XML viene prima convertito in JSON come nel nostro strumento XML to JSON: gli attributi ricevono il prefisso @_ e il contenuto testuale accanto agli attributi si chiama #text. I tipi C++ vengono generati da quel risultato. L'output richiede la libreria single header nlohmann/json, più un piccolo blocco di supporto per i valori opzionali incluso nell'output.
Usare il codice generato
Includi l'header nlohmann json, poi auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
I membri opzionali usano std::shared_ptr<T> e sono null quando la chiave manca.