nv_xml/
xml_builder.rs

1use XmlElement;
2
3use xml::reader::{XmlEvent};
4
5#[derive(Debug)]
6pub struct XmlElementBuilder {
7	_parent : XmlEvent,
8    _children: Vec<XmlElement>,
9    _data : Option<XmlEvent>
10}
11
12impl XmlElementBuilder
13{
14	pub fn new(event: XmlEvent) -> XmlElementBuilder
15	{
16		XmlElementBuilder{_parent: event, _children: Vec::new(), _data: None}
17	}
18
19	pub fn add_child(&mut self, builder: XmlElementBuilder) -> ()
20	{
21		self._children.push(builder.build());
22	}
23
24	pub fn add_data(&mut self, data : XmlEvent) -> ()
25	{
26		self._data = Some(data)
27	}
28
29	pub fn build(self) -> XmlElement
30	{
31		XmlElement::custom(self._parent, self._children, self._data)
32	}
33}