Jak korzystać z XML na C++
- Wklej reprezentatywny przykład XML, najlepiej z wypełnionymi wszystkimi opcjonalnymi polami.
- Podaj nazwę typu głównego i zdecyduj, czy chcesz też kod pomocniczy, czy tylko typy.
- Skopiuj wygenerowany kod C++ do swojego projektu.
O narzędziu XML na C++
Ręczne pisanie klas modeli dla dużych danych XML jest żmudne i łatwo wtedy o literówki. Wklej tutaj przykład, a generator rozpozna strukturę: jakie pola występują, które są obiektami lub tablicami i jaki typ ma każda wartość. Wynikiem są struktury w przestrzeni nazw quicktype z funkcjami from_json i to_json dla biblioteki nlohmann/json.
XML jest przekształcony w JSON w taki sam sposób, jak w naszym narzędziu XML do JSON: atrybuty otrzymują @_ Prefiks i zawartość tekstu obok atrybutów nazywa się #text. Typy C++ są generowane na podstawie tego wyniku. Wynik wymaga biblioteki nlohmann/json w jednym pliku nagłówkowym oraz niewielkiego bloku pomocniczego dla wartości opcjonalnych, który jest już dołączony.
Korzystanie z wygenerowanego kodu
Włączyć nagłówek nlohmann json, a następnie auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
Wybór użytkowników std::shared_ptr<T> i są nieważne, gdy klucz brakuje.