Cum folosești XML în C++
- Lipește un exemplu XML reprezentativ, de preferat cu toate câmpurile opționale completate.
- Alege numele tipului rădăcină și decide dacă vrei și cod ajutător sau doar tipurile.
- Copiază codul C++ generat în proiectul tău.
Despre XML în C++
Să scrii manual clase de model pentru un volum mare de date XML este monoton și poți face ușor greșeli de tastare. Lipește aici un exemplu, iar generatorul identifică structura: ce câmpuri există, care sunt obiecte, care sunt array-uri și ce tip are fiecare valoare. Rezultatul conține structuri în spațiul de nume quicktype, cu funcțiile from_json și to_json pentru biblioteca nlohmann/json.
XML este prima dată convertit la JSON în același mod ca și în instrumentul nostru XML la JSON: atributele obțin un @_ Prefixul și conținutul de text alături de atribute este numit #text. Tipurile C++ sunt generate din acest rezultat. Rezultatul are nevoie de biblioteca nlohmann/json cu un singur header și de un mic bloc ajutător pentru valori opționale, inclus în codul generat.
Utilizarea codului generat
Includeți în capul nlohmann json, apoi auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
Utilizarea membrilor opționali std::shared_ptr<T> și sunt nulo atunci când cheia lipsește.