aml_sch_331113000
Merge "Refresh Android.bp, cargo2android.json, TEST_MAPPING." am: c14d32c87a am: dcbe6e1bb2 am: ee0c6e14f2 am: 35fd00e5cb

Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/serde-xml-rs/+/1912687

Change-Id: I0f2e7cd3f97247a44ed570e1c59088c40b350030
tree: 4cc3dcf01cb697f27e3259054911f12121c7a726
  1. .github/
  2. src/
  3. tests/
  4. .cargo_vcs_info.json
  5. .gitignore
  6. .travis.yml
  7. Android.bp
  8. Cargo.toml
  9. Cargo.toml.orig
  10. cargo2android.json
  11. LICENSE
  12. METADATA
  13. MODULE_LICENSE_MIT
  14. OWNERS
  15. README.md
  16. rustfmt.toml
  17. TEST_MAPPING
README.md

serde-xml-rs

Build Status

xml-rs based deserializer for Serde (compatible with 1.0)

Example usage

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);
}