So verwenden Sie XML zu Crystal
- Fügen Sie ein repräsentatives XML-Beispiel ein, idealerweise eines, in dem alle optionalen Felder gefüllt sind.
- Legen Sie den Namen des Wurzeltyps fest und entscheiden Sie, ob Sie auch Hilfscode oder nur Typen haben möchten.
- Kopieren Sie den erzeugten Crystal-Code in Ihr Projekt.
Über XML zu Crystal
Modellklassen für eine große XML-Payload von Hand zu schreiben, ist öde, und genau dort schleichen sich Tippfehler ein. Fügen Sie hier ein Beispiel ein, und der Generator ermittelt die Struktur: welche Felder es gibt, welche Objekte, welche Arrays sind und welchen Typ jeder Wert hat. Die Ausgabe sind Klassen, die JSON::Serializable aus der Standardbibliothek einbinden.
XML wird zuerst auf dieselbe Weise in JSON umgewandelt wie in unserem Tool XML zu JSON: Attribute erhalten das Präfix @_, und Textinhalt neben Attributen heißt #text. Aus diesem Ergebnis werden die Crystal-Typen erzeugt. Properties werden mit dem property-Makro deklariert, und Schlüssel werden bei Bedarf mit der Annotation JSON::Field zugeordnet.
Den erzeugten Code verwenden
Rufen Sie Root.from_json(json) zum Parsen und to_json zum Schreiben auf.
Optionale Felder sind Union-Typen wie String | Nil.