Expand description
This crate provides a mechanism for serializing Rust data structures as well-formed XML with a minimum of boilerplate.
Consumers can provide manual implementations of the XmlSerialize and
XmlSerializeAttr traits if desired, but the primary intent of this crate
is to provide automated derivation of these traits in order to facilitate
serialization of complex XML structures.
§Limitations
At present, derived implementations of these traits are designed to handle the specific case of Microsoft Exchange Web Services. As such, all XML elements and attributes are named in PascalCase and certain behaviors are not supported (such as serializing enum variants without enclosing XML elements derived from the variant name).
Furthermore, the PascalCase implementation is naïve and depends on
char::to_ascii_uppercase, making it unsuitable for use with non-ASCII
identifiers.
There is also currently no provision for deserialization from XML, as the
support offered by quick_xml’s serde implementation has been found to be
sufficient for the time being.
Enums§
- Error
- An error generated during the XML serialization process.
Traits§
- XmlSerialize
- A data structure which can be serialized as XML content nodes.
- XmlSerialize
Attr - A data structure which can be serialized as the value of an XML attribute.
Derive Macros§
- XmlSerialize
- A macro providing automated derivation of the
XmlSerializetrait.