minidom: enable support for writing rxml self-closing elements

This commit is contained in:
Astro 2022-04-12 20:11:39 +02:00
parent bfe2166f58
commit 3931a44d50

View file

@ -357,17 +357,19 @@ impl Element {
encoder.encode(writer::Item::Attribute(None, name, value), buf)?; encoder.encode(writer::Item::Attribute(None, name, value), buf)?;
} }
encoder.encode(writer::Item::ElementHeadEnd, buf)?; if ! self.children.is_empty() {
encoder.encode(writer::Item::ElementHeadEnd, buf)?;
for child in &self.children { for child in &self.children {
match child { match child {
Node::Text(s) => { Node::Text(s) => {
let text = CDataStr::from_str(s) let text = CDataStr::from_str(s)
.map_err(::rxml::error::Error::NotWellFormed)?; .map_err(::rxml::error::Error::NotWellFormed)?;
encoder.encode(writer::Item::Text(text), buf)?; encoder.encode(writer::Item::Text(text), buf)?;
}
Node::Element(el) =>
el.write_to_inner(encoder, buf)?,
} }
Node::Element(el) =>
el.write_to_inner(encoder, buf)?,
} }
} }