## XML-Stinks Powerful, fast & easy manual XML deserialization using abstractions over [quick-xml](https://github.com/tafia/quick-xml). ## Example usage ```rust use std::convert::Infallible; use xml_stinks::deserializer::buffered::Buffered as BufferedDeserializer; use xml_stinks::deserializer::{Deserializer, IgnoreEnd}; use xml_stinks::tagged::TagStart; use xml_stinks::DeserializeTagged; let mut deserializer = BufferedDeserializer::new("BazDF".as_bytes()); let foo = deserializer.de_tag::("foo", IgnoreEnd::No).unwrap(); assert_eq!(&foo.name, "Baz"); assert_eq!(foo.bar.num, 223); struct Foo { name: String, bar: Bar, } impl DeserializeTagged for Foo { type Error = Infallible; fn deserialize( start: &TagStart, deserializer: &mut TDeserializer, ) -> Result { let name = deserializer.de_text().unwrap(); let bar = deserializer.de_tag::("bar", IgnoreEnd::No).unwrap(); Ok(Self { name, bar }) } } struct Bar { num: u32, } impl DeserializeTagged for Bar { type Error = Infallible; fn deserialize( start: &TagStart, deserializer: &mut TDeserializer, ) -> Result { let num = u32::from_str_radix(&deserializer.de_text().unwrap(), 16).unwrap(); Ok(Self { num }) } } ```