#xml #attributes #cdata

xml-creator

创建简单的 XML 文件

1 个不稳定版本

0.1.1 2023 年 8 月 25 日
0.1.0 2023 年 8 月 25 日

#199#attributes

MIT 许可协议

11KB
204 代码行(不包括注释)

xml-creator

Latest version Documentation License

一个用于构建简单 XML(带有子元素、属性、CDATA...)的 Rust 库

文档

用法

将此内容添加到您的 Cargo.toml

[dependencies]
xml-creator = "0.0.1"

和/或添加到您的 crate 根目录

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 将包含

<?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>

依赖项

~1MB
~14K SLoC