How to use XML to Rust
- 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 Rust code into your project.
About XML to Rust
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 deriving Serialize and Deserialize from the serde crate.
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 Rust types are generated from that result. Field names are converted to snake_case with a serde rename attribute when the original differs.
Using the generated code
Add serde and serde_json to Cargo.toml and call serde_json::from_str::<Root>(&json).
Optional fields are Option<T>. Null and missing keys both become None.