Zo gebruik je XML to Go
- 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 Go-code naar je project.
Over XML to Go
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 structs met json-struct-tags, plus hulpfuncties Unmarshal en Marshal.
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 Go-types worden uit dat resultaat gegenereerd. Namen worden in PascalCase geëxporteerd en afkortingen zoals ID en URL blijven in hoofdletters, wat linters verwachten.
De gegenereerde code gebruiken
Roep UnmarshalRoot(data) aan, of gebruik json.Unmarshal(data, &root) als je alleen de types hebt gekopieerd.
Optionele velden zijn pointers met de tag omitempty, zodat ontbrekende en nulwaarden van elkaar te onderscheiden zijn.