Crate xml_builder[−][src]
Expand description
xml-builder
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 :
- Fast and easy XML documents creation
- Low size, suits fine for embedeed systems
- Does not depend on other crates
- Highly configurable
- No unsafe code, it integrates the
#![forbid(unsafe_code)]
lint directive
Main features
Using this crate can bring you many useful features :
- Element attributes sorting
- XML indentation, or not
- Custom XML versions
- Custom XML encodings
Usage
To use this crate you just need to add this to your Cargo.toml
file:
[dependencies]
xml-builder = "*"
Examples
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 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>
Structs
Structure representing a XML document. It must be used to create a XML document.
Builder structure used to generate a custom XML structure.
Structure representing an XML element field.
Enums
Error type thrown by this crate
Enum representing all currently available XML versions.
Type Definitions
Custom Result
type thrown by this crate.