#xml-data #deserialize #async

async-xml

异步反序列化XML数据的crate

5个版本

0.2.3 2022年11月7日
0.2.2 2022年9月12日
0.2.1 2022年9月12日
0.2.0 2022年9月9日
0.0.0 2022年7月4日

#790异步

每月23次下载

MIT/Apache

34KB
808

async-xml

crates.io crates.io

一个基于 tokioquick-xml 的crate,用于异步反序列化XML数据。包括用于反序列化的derive宏。

示例

use async_xml::from_str;
use async_xml_derive::FromXml;

#[tokio::main]
async fn main() {
    let report: Report = from_str(r#"<report id="b"><data>text</data></report>"#)
        .await
        .unwrap();
    println!("deserialized: {:?}", report);
	// prints "Report { id: "b", data: Some(ReportData { data: "text" }) }"
}

#[derive(Debug, PartialEq, FromXml)]
#[async_xml(rename = "report")]
pub struct Report {
    #[async_xml(attribute)]
    pub id: String,
    #[async_xml(child)]
    pub data: Option<ReportData>,
}

#[derive(Debug, PartialEq, FromXml)]
#[async_xml(rename = "data")]
pub struct ReportData {
    #[async_xml(value)]
    pub data: String,
}

许可证

许可协议为以下之一

由您选择。

贡献

除非您明确声明,否则任何有意提交以包含在分叉中的贡献,根据Apache-2.0许可证定义,将根据上述方式双重许可,不附加任何额外的条款或条件。

依赖项

~9MB
~211K SLoC