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 日

#2585Rust 模式

Download history 137/week @ 2024-03-11 103/week @ 2024-03-18 138/week @ 2024-03-25 113/week @ 2024-04-01 90/week @ 2024-04-08 59/week @ 2024-04-15 125/week @ 2024-04-22 165/week @ 2024-04-29 137/week @ 2024-05-06 86/week @ 2024-05-13 107/week @ 2024-05-20 172/week @ 2024-05-27 113/week @ 2024-06-03 111/week @ 2024-06-10 105/week @ 2024-06-17 164/week @ 2024-06-24

每月 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 = &note["to"][0];
let from = &note["from"][0];
let heading = &note.get_nodes("heading").expect("Missing heading")[0];
let body = &note["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");

更多示例,请参阅测试

无运行时依赖