use quick_xml::de::DeError;
use quick_xml::se::{QuoteLevel, SeError, Serializer};
use serde::{Deserialize, Serialize};
pub(crate) fn serialize_xml<T>(value: &T) -> Result<String, SeError>
where
T: Serialize,
{
let mut buf = String::new();
let mut serializer = Serializer::new(&mut buf);
serializer.expand_empty_elements(true);
serializer.set_quote_level(QuoteLevel::Full);
value.serialize(serializer)?;
Ok(buf)
}
pub(crate) fn deserialize_xml<'de, T>(string: &'de str) -> Result<T, DeError>
where
T: Deserialize<'de>,
{
quick_xml::de::from_str(string)
}