Comment utiliser XML vers Go
- Collez un exemple XML représentatif, idéalement un avec tous les champs optionnels remplis.
- Définissez le nom du type racine, et décidez si vous voulez aussi du code auxiliaire ou uniquement les types.
- Copiez le code Go généré dans votre projet.
À propos de XML vers Go
Écrire des classes de modèle à la main pour une grosse charge utile XML est fastidieux, et c'est là que les fautes de frappe s'installent. Collez un exemple ici et le générateur déduit la structure : quels champs existent, lesquels sont des objets, lesquels sont des tableaux et quel type a chaque valeur. La sortie est des structs avec balises json, plus des fonctions helpers Unmarshal et Marshal.
Le XML est d'abord converti en JSON de la même manière que dans notre outil XML vers JSON : les attributs reçoivent un préfixe @_ et le contenu texte à côté des attributs s'appelle #text. Les types Go sont générés à partir de ce résultat. Les noms sont exportés en PascalCase et les acronymes comme ID et URL sont gardés en majuscules, ce que les linters attendent.
Utiliser le code généré
Appelez UnmarshalRoot(data), ou utilisez json.Unmarshal(data, &root) si vous n'avez copié que les types.
Les champs optionnels sont des pointeurs avec la balise omitempty, donc les valeurs manquantes et zéro peuvent être distinguées.