Zo gebruik je XML to Crystal
- 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 Crystal-code naar je project.
Over XML to Crystal
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 klassen die JSON::Serializable uit de standaardbibliotheek bevatten.
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 Crystal-types worden uit dat resultaat gegenereerd. Properties worden gedeclareerd met de property-macro en sleutels worden waar nodig gekoppeld met de annotatie JSON::Field.
De gegenereerde code gebruiken
Roep Root.from_json(json) aan om te parsen en to_json om te schrijven.
Optionele velden zijn uniontypes zoals String | Nil.