How to use XML to Elm
- Paste a representative XML sample, ideally one with all the optional fields filled in.
- Set the name of the root type, and decide whether you want helper code as well or types only.
- Copy the generated Elm code into your project.
About XML to Elm
Writing model classes by hand for a big XML payload is dull, and it is where typos creep in. Paste a sample here and the generator works out the structure: which fields exist, which are objects, which are arrays and what type each value has. The output is type aliases with matching JSON decoders and encoders.
XML is first converted to JSON the same way as in our XML to JSON tool: attributes get an @_ prefix and text content next to attributes is called #text. The Elm types are generated from that result. Elm has no runtime reflection, so the decoders are generated for you, and they are the most useful part of the output.
Using the generated code
Use Json.Decode.decodeString rootDecoder text and handle the Result, which tells you what went wrong if the data does not match.
Optional values use the Maybe type and the decoder accepts null and missing keys.