So verwenden Sie XML zu Go
- 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 Go-Code in Ihr Projekt.
Über XML zu Go
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 Structs mit json-Struct-Tags sowie Hilfsfunktionen Unmarshal und Marshal.
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 Go-Typen erzeugt. Namen werden in PascalCase exportiert, und Akronyme wie ID und URL bleiben in Großbuchstaben, was Linter erwarten.
Den erzeugten Code verwenden
Rufen Sie UnmarshalRoot(data) auf oder verwenden Sie json.Unmarshal(data, &root), wenn Sie nur die Typen kopiert haben.
Optionale Felder sind Zeiger mit dem Tag omitempty, sodass fehlende und Nullwerte unterschieden werden können.