Go to file
Nicholas Rempel 78ed6a6730 Add test for namespace containing dash 2024-04-02 07:19:39 +02:00
.github Bump MSRV to 1.61 (for memchr) 2023-10-25 22:36:20 +02:00
instant-xml Add test for namespace containing dash 2024-04-02 07:19:39 +02:00
instant-xml-macros Enable namespace prefixes containing dashes 2024-04-02 07:19:39 +02:00
.gitignore Ignore macOS cruft 2023-09-15 13:04:46 +02:00
Cargo.toml Explicitly set workspace resolver 2023-09-15 13:04:46 +02:00
README.md Add cover image (#51) 2024-02-28 11:13:54 -08:00
cover.svg Add cover image (#51) 2024-02-28 11:13:54 -08:00
deny.toml Ignore unactionable time advisory 2022-11-21 21:33:54 -08:00

README.md

Cover logo

instant-xml: more rigorously mapping XML to Rust types

Documentation Crates.io Build status License: MIT License: Apache 2.0

instant-xml is a serde-like library providing traits and procedural macros to help map XML to Rust types. While serde is great for formats like JSON, the underlying structure it provides is not a great fit for XML, limiting serde-based tools like quick-xml. instant-xml more rigorously maps the XML data model (including namespaces) to Rust types while providing a serde-like interface.

Features

  • Familiar serde-like interface
  • Full support for XML namespaces
  • Avoids copying deserialized data where possible
  • Minimum supported Rust version is 1.58

Limitations

instant-xml is still early in its lifecycle. While it works well for our use cases, it might not work well for you, and several more semver-incompatible releases should be expected to flesh out the core trait APIs as we throw more test cases at it. There's also currently not that much documentation.

We'd love to hear your feedback!

Thanks

Thanks to @rsdy and @choinskib for their work on this library, and thanks (of course) to @dtolnay for creating serde.