1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
use super::*; use strong_xml::xmlparser::*; use strong_xml::*; impl<'a> XmlRead<'a> for Script { fn from_reader(reader: &mut XmlReader<'a>) -> XmlResult<Self> { let mut body = String::new(); loop { if let Some(token) = reader.next() { match token? { Token::Text { text, .. } | Token::Cdata { text, .. } => { body.push_str(text.as_str()); } Token::ElementEnd { end: ElementEnd::Open, .. } => {} Token::ElementEnd { .. } => { break; } _ => {} } } } if body.is_empty() { Ok(Script { ..Default::default() }) } else { Ok(Script { content: Some(body), }) } } }