4 个版本
0.1.10 | 2020 年 8 月 10 日 |
---|---|
0.1.8 | 2020 年 8 月 10 日 |
0.1.7 | 2020 年 8 月 10 日 |
0.1.6 | 2020 年 8 月 7 日 |
#2585 在 Rust 模式
每月 495 次下载
18KB
384 行
Simple XML
Simple xml 是一个用于读取、解析和存储 XML 数据的小型包
用法
示例解析
let note =
simple_xml::from_file("./examples/note.xml").expect("Failed to parse simple_xml");
let to = ¬e["to"][0];
let from = ¬e["from"][0];
let heading = ¬e.get_nodes("heading").expect("Missing heading")[0];
let body = ¬e["body"][0];
let lang = note
.get_attribute("lang")
.expect("Failed to get attribute lang");
更多示例可以在文档和测试中找到
lib.rs
:
XML 解析器和写入器 此包可以从文件或字符串中加载 XML,并将其解析到内存中。XML 也可以被操作或创建,并写入文件
从文件加载 XML
fn load_message() -> Result<(), simple_xml::Error> {
let root = simple_xml::from_file("examples/message.xml")?;
// Since there can multiple nodes/tags with the same name, we need to index twice
let heading = &root["heading"][0];
println!("Heading: {}", heading.content);
// Access attributes
let lang = root.get_attribute("lang").expect("Missing lang attribute");
println!("Language: {}", lang);
Ok(())
}
创建 XML 结构
let name = String::from("Tim Roberts");
let health = 50;
let mut player = simple_xml::new("player", String::new());
player.add_new_node("health", health.to_string());
player.add_new_node("name", name);
// Save to file
player.save_to_file("./player.xml");
更多示例,请参阅测试