Come usare XML to Haskell
- Incolla un esempio XML rappresentativo, idealmente uno con tutti i campi opzionali compilati.
- Imposta il nome del tipo radice e decidi se vuoi anche il codice di supporto o solo i tipi.
- Copia il codice Haskell generato nel tuo progetto.
Informazioni su XML to Haskell
Scrivere a mano le classi modello per un grande payload XML è noioso ed è lì che si insinuano gli errori di battitura. Incolla qui un esempio e il generatore ricava la struttura: quali campi esistono, quali sono oggetti, quali sono array e che tipo ha ogni valore. L'output è costituito da tipi record con istanze Aeson ToJSON e FromJSON.
L'XML viene prima convertito in JSON come nel nostro strumento XML to JSON: gli attributi ricevono il prefisso @_ e il contenuto testuale accanto agli attributi si chiama #text. I tipi Haskell vengono generati da quel risultato. I campi dei record ricevono un prefisso basato sul nome del tipo, dato che Haskell non consente a due record in un modulo di condividere i nomi dei campi.
Usare il codice generato
Usa decode di Data.Aeson, ad esempio decode text :: Maybe Root.
I campi opzionali usano il tipo Maybe.