xavier_internal/deserialize/
decode.rs1#[macro_export]
2macro_rules! decode {
3 ($expr:expr) => { xavier::deserialize::decode::decode_xml($expr).to_string() };
4}
5
6pub fn decode_xml(input: &str) -> String {
7 input
8 .replace("&", "&")
9 .replace("<", "<")
10 .replace(">", ">")
11 .replace(""", "\"")
12 .replace("'", "'")
13}
14
15pub fn strip_cdata(s: &str) -> &str {
16 let cdata_start = "<![CDATA[";
17 let cdata_end = "]]>";
18
19 if s.starts_with(cdata_start) && s.ends_with(cdata_end) {
20 &s[cdata_start.len()..s.len() - cdata_end.len()]
21 } else {
22 s
23 }
24}