How to use XML to Go
- Paste a representative XML sample, ideally one with all the optional fields filled in.
- Set the name of the root type, and decide whether you want helper code as well or types only.
- Copy the generated Go code into your project.
About XML to Go
Writing model classes by hand for a big XML payload is dull, and it is where typos creep in. Paste a sample here and the generator works out the structure: which fields exist, which are objects, which are arrays and what type each value has. The output is structs with json struct tags, plus Unmarshal and Marshal helper functions.
XML is first converted to JSON the same way as in our XML to JSON tool: attributes get an @_ prefix and text content next to attributes is called #text. The Go types are generated from that result. Names are exported in PascalCase and acronyms like ID and URL are kept in capitals, which is what linters expect.
Using the generated code
Call UnmarshalRoot(data), or use json.Unmarshal(data, &root) if you only copied the types.
Optional fields are pointers with the omitempty tag, so missing and zero values can be told apart.