[−][src]Crate xml_data
This library provides a generic interface to parse XML data: a user might implement how to parse and serialize their data (possibly derived), while others will implement adaptors for generic XML parsers.
This is similar to what serde does; but serde assumes your data consists of "native data"
(strings, integers, floats, ...) and nested data (lists and maps). XML doesn't map to this
very well; while there are some adaptors, they often accept lots of structually different input
data: an element might be interpreted as map in serde. A subelement with text now can be
interpreted as key (<key>value</key>
), but an attribute is interpreted the same way <... key="value">
.
This library focuses only on XML instead, and provides a more strict interface with clearly defined output.
For the following XML handling crates adaptors are included if enabled through the equally named features:
If the derive
feature is enabled the following traits can be derived:
Element
parser::Element
serializer::Element
Inner
parser::Inner
serializer::Inner
Modules
errors | Helper functions to generate common errors |
extensions | Use this to activate all trait extensions without importing their names. |
parser | Traits and helper structs to parse XML |
quick_xml | Parser/serializer adaptors using |
serializer | Traits and helper structs to serialize XML |
Traits
Element | Combining |
Inner | Combining |
Type Definitions
Error | For now we use a simple boxed error to show the user |
Result | Result alias with out error type included |
Derive Macros
Element | Derive |
Inner | Derive |