1 个不稳定版本
| 0.1.0 | 2023 年 8 月 11 日 | 
|---|
#10 在 #quick-xml
15KB
175 行
xmhell
一个不那么糟糕的地狱级 XML 读取器
此库通过添加方法扩展了 quick-xml,以便在不使用无限嵌套的 match 语句的情况下读取深度嵌套的 XML。
有关详细信息,请参阅 文档。
lib.rs:
一个不那么糟糕的地狱级 XML 读取器。
此库通过添加方法扩展了 quick-xml,以便在不使用无限嵌套的 match 语句的情况下读取深度嵌套的 XML。
有关详细信息,请参阅 Expect。
示例
use xmhell::{quick_xml::Reader, Error, Expect};
const IN: &str = r#"
    <root>
        <foo>
            <bar/>
            <bar/>
        </foo>
    </root>
"#;
fn main() -> Result<(), Error> {
    let mut bars = 0;
    let mut reader = Reader::from_str(IN);
    reader.trim_text(true);
    reader.expect_element("root")?.read_inner(|reader| {
        reader.expect_element("foo")?.read_inner(|reader| {
            while let Ok(()) = reader.expect_empty("bar") {
                bars += 1;
            }
            Ok(())
        })?;
        Ok(())
    })?;
    reader.expect_eof()?;
    assert_eq!(bars, 2);
    Ok(())
}
依赖项
~1.5MB
~23K SLoC