jsonecho

XML ke C++

Tempel dokumen XML untuk membuat tipe C++ yang sesuai dengan strukturnya.

Memuat alat...

Cara menggunakan XML ke C++

  1. Tempel contoh XML yang mewakili data Anda, sebaiknya dengan semua kolom opsional sudah terisi.
  2. Tentukan nama tipe utama, lalu pilih apakah Anda ingin menyertakan kode bantu atau hanya membuat tipe.
  3. Salin kode C++ yang dihasilkan ke proyek Anda.

Tentang XML ke C++

Menulis kelas model secara manual untuk data XML yang besar itu melelahkan dan rawan salah ketik. Tempel contohnya di sini, lalu generator akan mengenali strukturnya: kolom yang tersedia, mana yang berupa objek atau array, dan tipe data setiap nilainya. Hasilnya berupa struct di dalam namespace quicktype, beserta fungsi from_json dan to_json untuk library nlohmann/json.

XML terlebih dahulu dikonversi ke JSON dengan aturan yang sama seperti alat XML ke JSON kami: atribut diberi awalan @_ dan konten teks yang berada bersama atribut diberi nama #text. Tipe C++ dibuat dari hasil tersebut. Hasilnya memerlukan library header tunggal nlohmann/json, beserta blok kode bantu kecil untuk nilai opsional yang sudah disertakan.

Menggunakan kode yang dihasilkan

Masukkan header nlohmann json, maka auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Penggunaan anggota opsional std::shared_ptr<T> dan bernilai null jika kuncinya tidak ada.

Pertanyaan yang sering diajukan

Apa dependensi kode C++ yang dihasilkan?

Hasilnya berupa struct di dalam namespace quicktype, beserta fungsi from_json dan to_json untuk library nlohmann/json.

Bagaimana saya menganalisis XML dengan hasil?

Konversi XML ke JSON terlebih dahulu (alat XML ke JSON kami melakukan ini dengan cara yang sama), kemudian sertakan header nlohmann json, lalu auto root = nlohmann::json::parse(text).get<quicktype::Root>();.

Bagaimana kolom opsional dan kolom yang tidak ada ditangani?

Penggunaan anggota opsional std::shared_ptr<T> dan bernilai null jika kuncinya tidak ada.

Apakah generator memeriksa lebih dari satu entri?

Generator hanya mengenali data yang ada dalam contoh Anda. Kolom yang tidak ada dalam contoh tidak akan muncul pada tipe yang dibuat. Jika suatu nilai dalam contoh adalah null, tipe datanya tidak dapat ditentukan. Tempel contoh dengan kolom yang terisi selengkap mungkin, atau gunakan array berisi beberapa entri yang berbeda.

Apakah XML saya dikirim ke server?

Tidak. Saat pertama kali digunakan, generator berukuran sekitar 1 MB diunduh ke browser Anda. Seluruh proses selanjutnya berjalan secara lokal.

Alat lainnya di Data ke Kelas

Semua alat →