3 个版本

0.1.2 2021年11月13日
0.1.1 2021年5月27日
0.1.0 2021年5月27日

#2346数据库接口

22 每月下载次数
odata-rust-generator 中使用

MIT 许可证

13KB
237 代码行

odata-parser-rs 发布 最新版本 文档

反序列化 OData 3.0 metadata.xml 文档。


这是使用 serde/quick-xml 解析 EDMX 1.0 格式到 Rust 结构的最简实现。

由于此库的目的是仅解析由 丹麦议会的 OpenData 端点 提供的 metadata.xml 文档,因此它目前不支持该文档中未明确使用的任何内容,尽管当然欢迎添加此类功能。

示例

解析示例 metadata.xml 文件,并打印默认架构中的所有 EntitySets

let edmx = Edmx::from_str(include_str!("my-metadata.xml")).unwrap();
let schema = edmx.default_schema().unwrap();

for entity_set in schema.entity_sets().unwrap() {
  println!("{:#?}", entity_set);
}

使用来自丹麦议会的 测试文件,您应该看到类似以下输出

EntitySet {
    name: "Afstemning",
    entity_type: "FT.Domain.Models.Afstemning",
}
EntitySet {
    name: "Afstemningstype",
    entity_type: "FT.Domain.Models.Afstemningstype",
}

(... and so on)

依赖关系

~2.6–3.5MB
~63K SLoC