oak-xml 0.0.11

High-performance incremental XML parser for the oak ecosystem with flexible configuration.
Documentation
#![cfg(feature = "serde")]
use oak_xml;

#[derive(Debug, serde::Serialize, serde::Deserialize, PartialEq)]
struct User {
    #[serde(rename = "@id")]
    id: u32,
    #[serde(rename = "name")]
    name: String,
    #[serde(rename = "email")]
    email: String,
}

#[test]
fn test_serde_xml_attrs() {
    let user = User { id: 1, name: "Alice".to_string(), email: "alice@example.com".to_string() };
    let xml = oak_xml::to_string(&user).unwrap();
    println!("Serialized XML:\n{}", xml);

    let deserialized: User = oak_xml::from_str(&xml).unwrap();
    assert_eq!(user, deserialized);
}