14个版本
0.5.2 | 2023年3月19日 |
---|---|
0.5.1 | 2022年11月5日 |
0.5.0 | 2021年11月28日 |
0.4.0 | 2021年11月27日 |
0.1.4 | 2021年7月7日 |
#263 在 数据结构
2,124 每月下载量
在 19 个crate(7个直接)中使用
17KB
285 行
xml-builder
此crate允许您通过构建一个高度可配置的对象树,在短时间内轻松创建XML文件。
主要优势
与其他XML构建crate相比,此crate提供了许多优势
- 快速且易于创建XML文档
- 体积小,适合嵌入式系统
- 不依赖其他crate
- 高度可配置
- 无不安全代码,它集成了
#![forbid(unsafe_code)]
lint指令
主要功能
使用此crate可以为您带来许多有用的功能
- 元素属性排序
- XML缩进,或不缩进
- 自定义XML版本
- 自定义XML编码
用法
要使用此crate,只需将其添加到您的 Cargo.toml
文件中
[dependencies]
xml-builder = "*"
示例
use xml_builder::{XMLBuilder, XMLElement, XMLVersion};
fn main() {
let mut xml = XMLBuilder::new()
.version(XMLVersion::XML1_1)
.encoding("UTF-8".into())
.build();
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("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 writer: Vec<u8> = Vec::new();
xml.generate(&mut writer).unwrap();
}
以下XML内容将随后显示
<?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>