jsonecho

XML ke Haskell

Tempel dokumen XML untuk membuat tipe Haskell yang sesuai dengan strukturnya.

Memuat alat...

Cara menggunakan XML ke Haskell

  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 Haskell yang dihasilkan ke proyek Anda.

Tentang XML ke Haskell

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 tipe record dengan instance ToJSON dan FromJSON dari Aeson.

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 Haskell dibuat dari hasil tersebut. Kolom record diberi awalan berdasarkan nama tipe, karena Haskell tidak mengizinkan dua record dalam satu modul memiliki nama kolom yang sama.

Menggunakan kode yang dihasilkan

Penggunaan decode dari Data.Aeson, misalnya decode text :: Maybe Root.

Kolom opsional menggunakan tipe Maybe.

Pertanyaan yang sering diajukan

Apa dependensi kode Haskell yang dihasilkan?

Hasilnya berupa tipe record dengan instance ToJSON dan FromJSON dari Aeson.

Bagaimana saya menganalisis XML dengan hasil?

Mengubah XML ke JSON terlebih dahulu (alat XML ke JSON kami melakukan ini dengan cara yang sama), kemudian gunakan decode dari Data.Aeson, misalnya decode text :: Maybe Root.

Bagaimana kolom opsional dan kolom yang tidak ada ditangani?

Kolom opsional menggunakan tipe Maybe.

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 →