xml-builder

Documentation Latest version dependency status codecov

This crate allows you to easily create an XML file in a short time by building a highly-configurable object tree.

Main advantages

This crate offers many advantages over other XML-building crates :

Main features

Using this crate can bring you many useful features :

Usage

To use this crate you just need to add this to your Cargo.toml file:

toml [dependencies] xml-builder = "*"

Examples

```rust use xml_builder::{XMLBuilder, XMLElement, XMLVersion};

fn main() { let mut xml = XMLBuilder::new() .version(XMLVersion::XML1_1) .encoding("UTF-8".into()) .build();

let mut house = XMLElement::new("house");
house.add_attribute("rooms", "2");

for i in 1..=2 {
    let mut room = XMLElement::new("room");
    room.add_attribute("number", &i.to_string());
    room.add_text(format!("This is room number {}", i)).unwrap();

    house.add_child(room).unwrap();
}

xml.set_root_element(house);

let mut writer: Vec<u8> = Vec::new();
xml.generate(&mut writer).unwrap();

} ```

This following XML content will then be displayed:

xml <?xml encoding="UTF-8" version="1.1"?> <house rooms="2"> <room number="1" price="42">This is room number 1</room> <room number="2" price="84">This is room number 2</room> </house>