From 9af7d252d7041646a64685ce847b91a60cb3421e Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Fri, 31 Mar 2017 17:01:48 +0100 Subject: [PATCH] auto-close elements with no child --- src/element.rs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/element.rs b/src/element.rs index 50b63cd01359354040447926e0c4634245a1ba5b..13c8baf1c4e02fd86d0d86767964a424626de476 100644 --- a/src/element.rs +++ b/src/element.rs @@ -38,18 +38,23 @@ impl fmt::Debug for Element { for attr in &self.attributes { write!(fmt, " {}", attr)?; } - write!(fmt, ">")?; - for child in &self.children { - match *child { - Node::Element(ref e) => { - write!(fmt, "{:?}", e)?; - }, - Node::Text(ref s) => { - write!(fmt, "{}", s)?; - }, + if self.children.is_empty() { + write!(fmt, "/>")?; + } + else { + write!(fmt, ">")?; + for child in &self.children { + match *child { + Node::Element(ref e) => { + write!(fmt, "{:?}", e)?; + }, + Node::Text(ref s) => { + write!(fmt, "{}", s)?; + }, + } } + write!(fmt, "", self.name)?; } - write!(fmt, "", self.name)?; Ok(()) } }