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 documents creation
- Low size, suits fine for embedeed systems
- Does not depend on other crates
- High 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
- 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::{XML, XMLElement, XMLVersion};
fn main() {
let mut xml = XML::new();
xml.enable_attributes_sorting();
xml.set_xml_version(XMLVersion::XML1_1);
xml.set_xml_encoding("UTF-8".into());
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("price", &(42*i).to_string());
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 stdio = std::io::stdout();
xml.build(&mut stdio).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.
Structure representing an XML element field.
Enums
Error type thrown by this crate
Enum representing all currently available XML versions.
Traits
A trait for converting (and consuming) a value to a XMLElement.
Type Definitions
Custom Result type thrown by this crate.