11 个版本
使用旧的 Rust 2015
0.5.3 | 2019 年 5 月 29 日 |
---|---|
0.5.2 | 2019 年 3 月 19 日 |
0.5.1 | 2018 年 11 月 19 日 |
0.5.0 | 2018 年 4 月 26 日 |
0.3.2 | 2017 年 7 月 9 日 |
#19 in #xpath
98 次每月下载
在 3 个 crate(2 个直接)中使用
26KB
460 行
xpath_reader
提供使用 XPath 表达式从 XML 中读取的便捷 API。
此 crate 主要是对 crate sxd_xpath 的包装。
lib.rs
:
提供使用 XPath 表达式从 XML 中读取的便捷 API。
此 crate 主要是对 crate sxd_xpath 的包装。
示例
use xpath_reader::{Context, Reader};
let xml = r#"<?xml version="1.0"?><book xmlns="books" name="Neuromancer" author="William Gibson"><tags><tag name="cyberpunk"/><tag name="sci-fi"/></tags></book>"#;
let mut context = Context::new();
context.set_namespace("b", "books");
let reader = Reader::from_str(xml, Some(&context)).unwrap();
let name: String = reader.read("//@name").unwrap();
assert_eq!(name, "Neuromancer".to_string());
let publisher: Option<String> = reader.read("//@publisher").unwrap();
let author: Option<String> = reader.read("//@author").unwrap();
assert_eq!(publisher, None);
assert_eq!(author, Some("William Gibson".to_string()));
let tags: Vec<String> = reader.read("//b:tags/b:tag/@name").unwrap();
assert_eq!(tags, vec!["cyberpunk".to_string(), "sci-fi".to_string()]);
依赖项
~580KB
~14K SLoC