Skip to content

Latest commit

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

xml-builder

DocumentationLatest versiondependency status

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};letmut xml = XMLBuilder::new().version(XMLVersion::XML1_1).encoding("UTF-8".into()).build();letmut house = XMLElement::new("house");
house.add_attribute("rooms","2");for i in1..=2{letmut 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);letmut 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"?>
<houserooms="2">
<roomnumber="1"price="42">This is room number 1</room>
<roomnumber="2"price="84">This is room number 2</room>
</house>

About

Rust crate providing an easy way to build XML documents

Topics

Resources

Stars

14 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages