minor cleanup of element skipping
* "skipped" is unnecessary: it's always false at depth == 0, so its one use in "if depth == 0 && !skipped" can be removed. * the element doesn't need a binding, and shadowing "named_element" confused me. * remove old commented-out path that errored on unknown elements
This commit is contained in:
parent
c889461eef
commit
8a1e1e2e16
@ -341,26 +341,20 @@ pub fn parse(
|
||||
trace!("Struct {} @ {}: matching {:?}", stringify!(#name), start_depth, event);
|
||||
match event {
|
||||
XmlEvent::StartElement{ref name, ref attributes, ..} => {
|
||||
let mut skipped = false;
|
||||
|
||||
match name.local_name.as_str() {
|
||||
#call_visitors
|
||||
named_element => {
|
||||
_ => {
|
||||
let event = reader.next_event()?;
|
||||
#write_unused
|
||||
|
||||
if depth > 0 { // Don't skip root element
|
||||
skipped = true;
|
||||
reader.skip_element(|event| {
|
||||
#write_unused
|
||||
})?;
|
||||
}
|
||||
}
|
||||
// name => {
|
||||
// return Err(format!("unknown key {}", name))
|
||||
// }
|
||||
}
|
||||
if depth == 0 && !skipped { // Look for attributes only at element start
|
||||
if depth == 0 { // Look for attributes only at element start
|
||||
#attributes_loading
|
||||
}
|
||||
depth += 1;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user