mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
30 lines
755 B
Rust
30 lines
755 B
Rust
use s3s::xml;
|
|
|
|
pub fn deserialize<T>(input: &[u8]) -> xml::DeResult<T>
|
|
where
|
|
T: for<'xml> xml::Deserialize<'xml>,
|
|
{
|
|
let mut d = xml::Deserializer::new(input);
|
|
let ans = T::deserialize(&mut d)?;
|
|
d.expect_eof()?;
|
|
Ok(ans)
|
|
}
|
|
|
|
pub fn serialize_content<T: xml::SerializeContent>(val: &T) -> xml::SerResult<String> {
|
|
let mut buf = Vec::with_capacity(256);
|
|
{
|
|
let mut ser = xml::Serializer::new(&mut buf);
|
|
val.serialize_content(&mut ser)?;
|
|
}
|
|
Ok(String::from_utf8(buf).unwrap())
|
|
}
|
|
|
|
pub fn serialize<T: xml::Serialize>(val: &T) -> xml::SerResult<Vec<u8>> {
|
|
let mut buf = Vec::with_capacity(256);
|
|
{
|
|
let mut ser = xml::Serializer::new(&mut buf);
|
|
val.serialize(&mut ser)?;
|
|
}
|
|
Ok(buf)
|
|
}
|