Zo gebruik je XML to Elm
- Plak een representatief XML-voorbeeld, bij voorkeur een met alle optionele velden ingevuld.
- Stel de naam van het roottype in en bepaal of je ook hulpcode wilt of alleen types.
- Kopieer de gegenereerde Elm-code naar je project.
Over XML to Elm
Modelklassen met de hand schrijven voor een grote XML-payload is saai en daar sluipen typefouten in. Plak hier een voorbeeld en de generator leidt de structuur af: welke velden er zijn, welke objecten zijn, welke arrays en welk type elke waarde heeft. De uitvoer bestaat uit typealiassen met bijpassende JSON-decoders en -encoders.
XML wordt eerst op dezelfde manier naar JSON geconverteerd als in onze XML to JSON-tool: attributen krijgen een @_-voorvoegsel en tekstinhoud naast attributen heet #text. De Elm-types worden uit dat resultaat gegenereerd. Elm heeft geen runtime-reflectie, dus de decoders worden voor je gegenereerd en dat is het nuttigste deel van de uitvoer.
De gegenereerde code gebruiken
Gebruik Json.Decode.decodeString rootDecoder text en verwerk het Result, dat je vertelt wat er misging als de gegevens niet overeenkomen.
Optionele waarden gebruiken het Maybe-type en de decoder accepteert null en ontbrekende sleutels.