Zo gebruik je XML to C++
- Plak een representatief XML-voorbeeld, bij voorkeur een met alle optionele velden ingevuld.
- Stel de naam van het roottype in en bepaal of je ook hulpcode wilt of alleen types.
- Kopieer de gegenereerde C++-code naar je project.
Over XML to C++
Modelklassen met de hand schrijven voor een grote XML-payload is saai en daar sluipen typefouten in. Plak hier een voorbeeld en de generator leidt de structuur af: welke velden er zijn, welke objecten zijn, welke arrays en welk type elke waarde heeft. De uitvoer bestaat uit structs in een quicktype-namespace, met from_json- en to_json-functies voor de nlohmann/json-bibliotheek.
XML wordt eerst op dezelfde manier naar JSON geconverteerd als in onze XML to JSON-tool: attributen krijgen een @_-voorvoegsel en tekstinhoud naast attributen heet #text. De C++-types worden uit dat resultaat gegenereerd. De uitvoer vereist de nlohmann/json-bibliotheek met één header, plus een klein hulpblok voor optionele waarden dat in de uitvoer is opgenomen.
De gegenereerde code gebruiken
Neem de nlohmann json-header op en gebruik dan auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
Optionele leden gebruiken std::shared_ptr<T> en zijn null wanneer de sleutel ontbreekt.