13 releases (5 stable)
1.2.3 | Jan 4, 2023 |
---|---|
1.2.2 | Sep 2, 2022 |
1.2.1 | Aug 22, 2022 |
0.7.0 | Jan 15, 2022 |
0.2.0 | Mar 30, 2017 |
#792 in Parser implementations
26,707 downloads per month
Used in 26 crates
(8 directly)
235KB
5.5K
SLoC
ElementTree for Rust
This library parses XML into a Python ElementTree like structure. It currently has basic support for reading and writing with pretty good namespace support and the ability to inspect the file.
It's not recommended to use this for larger documents as the entire document will be loaded into memory. However it's pretty good for working with configuration files and similar things.
Example
let root = Element::from_reader(r#"<?xml version="1.0"?>
<root xmlns="tag:myns" xmlns:foo="tag:otherns">
<list a="1" b="2" c="3">
<item foo:attr="foo1"/>
<item foo:attr="foo2"/>
<item foo:attr="foo3"/>
</list>
</root>
"#.as_bytes()).unwrap();
let list = root.find("{tag:myns}list").unwrap();
for child in list.find_all("{tag:myns}item") {
println!("attribute: {}", child.get_attr("{tag:otherns}attr").unwrap());
}
License and Links
- Documentation
- Issue Tracker
- Examples
- License: MIT
Dependencies
~0.5–5MB
~14K SLoC