Skip to main content

Crate xml_struct

Crate xml_struct 

Source
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.
XmlSerializeAttr
A data structure which can be serialized as the value of an XML attribute.

Derive Macros§

XmlSerialize
A macro providing automated derivation of the XmlSerialize trait.