3 releases
0.1.2 | Nov 13, 2021 |
---|---|
0.1.1 | May 27, 2021 |
0.1.0 | May 27, 2021 |
#2240 in Database interfaces
22 downloads per month
Used in odata-rust-generator
13KB
237 lines
odata-parser-rs
Deserializes OData 3.0 metadata.xml documents.
This is an absolute bare-minimum rough implementation of the EDMX 1.0 format for parsing using serde/quick-xml into a Rust structure.
Since the purpose of this library is only to parse the metadata.xml document provided by the Danish Parliament's OpenData endpoint it does not currently support anything not explicitly used in this document, although adding such functionality is of course welcomed.
Example
Parse an example metadata.xml
file, and print all the EntitySets
within the default schema.
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);
}
Using the test file from the Danish Parliament, you should see output similar to this:
EntitySet {
name: "Afstemning",
entity_type: "FT.Domain.Models.Afstemning",
}
EntitySet {
name: "Afstemningstype",
entity_type: "FT.Domain.Models.Afstemningstype",
}
(... and so on)
Dependencies
~2.5–3.5MB
~62K SLoC