How to use XML to C#
- 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 C# code into your project.
About XML to C#
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 classes with properties. Untick "Types only" and the output adds Newtonsoft.Json attributes and a Converter class.
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 C# types are generated from that result. Property names are converted to PascalCase and decorated with a JsonProperty attribute so the original key is preserved.
Using the generated code
With the helpers, call Root.FromJson(json). With types only, use JsonSerializer.Deserialize<Root>(json) from System.Text.Json and add attributes if the names differ.
Nullable members use long?, double? and so on, plus nullable reference types where relevant.