xml-creator

Crates.ioxml-creator
lib.rsxml-creator
version0.1.1
sourcesrc
created_at2023-08-25 20:03:31.096475
updated_at2023-08-25 20:23:28.637859
descriptionCreate simple xml files
homepage
repository
max_upload_size
id955019
size11,836
(Jegocz)

documentation

README

xml-creator

Latest version Documentation License

A Rust library for building a simple xml (with childs, attributes, CDATA...)

Documentation

Usage

Add this to your Cargo.toml:

[dependencies]
xml-creator = "0.0.1"

and/or this to your crate root:

extern crate xml_creator;

Example

use std::io;
fn main() -> io::Result<()> {
use std::fs::File;
use xml_creator::XMLElement;
/*
let mut file = File::create("example.xml").unwrap();
*/
let mut file: Vec<u8> = Vec::new();
let mut company = XMLElement::new("company");
company.add_attribute("name", "val");
let mut employee = XMLElement::new("employee");
// no escaping and CDATA needed
employee.add_text("Max Mustermann".to_string(), false, false);
let mut cdata = XMLElement::new("cdata");
// will get wrapped into CDATA
cdata.add_text("<p>Some Html</p>".to_string(), false, true);
company.add_child(cdata);
let mut escape = XMLElement::new("escape");
// < will get escaped
escape.add_text("<".to_string(), true, false);
company.add_child(escape);
// add employee to company
company.add_child(employee);
company.write(file)..unwrap();
Ok(())
}

example.xml will contain:

<?xml version = "1.0" encoding = "UTF-8"?>
<company name="val">
    <employee>Max Mustermann</employee>
    <cdata><![CDATA[<p>Some Html</p>]]></cdata>
    <escape>&lt;</escape>
</company>
Commit count: 0

cargo fmt