commit | 97ca6915217e8cd89e4d43ddb3e0ed1626b9c97a | [log] [tgz] |
---|---|---|
author | Deyao Ren <deyaoren@google.com> | Wed Oct 06 18:33:10 2021 +0000 |
committer | Deyao Ren <deyaoren@google.com> | Wed Oct 06 18:33:10 2021 +0000 |
tree | 7b6f9d20d96c4c5c29bc92e4207af555ef14f372 | |
parent | d26db57236a6a37545b4cfa06f0ef13423dd20f9 [diff] | |
parent | c4bf39299df58ba706994c40c0af808af57be0aa [diff] |
Merge TP1A.211006.001 Change-Id: I6656976eb4ff23e38a6bb6b4cbea1534b5b5975a
xml-rs
based deserializer for Serde (compatible with 1.0)
use serde; use serde_derive::{Deserialize, Serialize}; 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); }