Crates.io | xml-creator |
lib.rs | xml-creator |
version | 0.1.1 |
source | src |
created_at | 2023-08-25 20:03:31.096475 |
updated_at | 2023-08-25 20:23:28.637859 |
description | Create simple xml files |
homepage | |
repository | |
max_upload_size | |
id | 955019 |
size | 11,836 |
A Rust library for building a simple xml (with childs, attributes, CDATA...)
Add this to your Cargo.toml
:
[dependencies]
xml-creator = "0.0.1"
and/or this to your crate root:
extern crate xml_creator;
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><</escape>
</company>