#serialization #required #deserialize #deserializer #serde-derive #derive-debug #partial-eq

serde-xml-any

xml-rs based deserializer for Serde, with changes required for serde_any

1 unstable release

Uses old Rust 2015

0.0.3 Jul 19, 2018

#32 in #partial-eq

Download history 374/week @ 2024-02-04 165/week @ 2024-02-11 112/week @ 2024-02-18 100/week @ 2024-02-25 135/week @ 2024-03-03 160/week @ 2024-03-10 139/week @ 2024-03-17 145/week @ 2024-03-24 237/week @ 2024-03-31 154/week @ 2024-04-07 97/week @ 2024-04-14 167/week @ 2024-04-21 155/week @ 2024-04-28 102/week @ 2024-05-05 93/week @ 2024-05-12 68/week @ 2024-05-19

431 downloads per month
Used in 2 crates

MIT license

37KB
972 lines

serde-xml-any

A copy of serde-xml-rs with changes required for serde_any.


lib.rs:

Examples

extern crate serde;
extern crate serde_xml_rs;

#[macro_use]
extern crate serde_derive;

use serde_xml_rs::{from_str, to_string};

#[derive(Debug, Serialize, Deserialize, PartialEq)]
struct Item {
    name: String,
    source: String,
}

fn main() {
    let src = r#"<Item><name>Banana</name><source>Store</source></Item>"#;
    let should_be = Item {
        name: "Banana".to_string(),
        source: "Store".to_string(),
    };

    let item: Item = from_str(src).unwrap();
    assert_eq!(item, should_be);

    let reserialized_item = to_string(&item).unwrap();
    assert_eq!(src, reserialized_item);
}

Dependencies

~3–4.5MB
~93K SLoC