XML'den C++'a nasıl kullanılır
- Temsili bir XML örneği yapıştırın, ideal olarak tüm isteğe bağlı alanların doldurulduğu bir tane.
- Kök türün adını ayarlayın ve yardımcı kod da mı yoksa yalnızca türler mi istediğinize karar verin.
- Oluşturulan C++ kodunu projenize kopyalayın.
XML'den C++'a hakkında
Büyük bir XML yükü için model sınıflarını elle yazmak sıkıcıdır ve yazım hatalarının sızdığı yerdir. Buraya bir örnek yapıştırın, üretici yapıyı çözer: hangi alanlar var, hangileri nesne, hangileri dizi ve her değerin türü ne. Çıktı, quicktype ad alanında, nlohmann/json kütüphanesi için from_json ve to_json işlevleriyle struct'lardır.
XML önce XML'den JSON'a aracımızdaki gibi JSON'a dönüştürülür: öznitelikler @_ öneki alır ve özniteliklerin yanındaki metin içeriği #text olarak adlandırılır. C++ türleri o sonuçtan oluşturulur. Çıktı nlohmann/json tek başlık kütüphanesine ve isteğe bağlı değerler için çıktıya dahil edilen küçük bir yardımcı bloğa ihtiyaç duyar.
Oluşturulan kodu kullanma
nlohmann json başlığını dahil edin, sonra auto root = nlohmann::json::parse(text).get<quicktype::Root>();.
İsteğe bağlı üyeler std::shared_ptr<T> kullanır ve anahtar eksik olduğunda null olur.