Crate minidom [−] [src]
A minimal DOM crate built on top of xml-rs.
This library exports an Element
struct which represents a DOM tree.
Example
Run with cargo run --example articles
. Located in examples/articles.rs
.
extern crate minidom; use minidom::Element; const DATA: &'static str = r#"<articles xmlns="article"> <article> <title>10 Terrible Bugs You Would NEVER Believe Happened</title> <body> Rust fixed them all. <3 </body> </article> <article> <title>BREAKING NEWS: Physical Bug Jumps Out Of Programmer's Screen</title> <body> Just kidding! </body> </article> </articles>"#; const ARTICLE_NS: &'static str = "article"; #[derive(Debug)] pub struct Article { title: String, body: String, } fn main() { let root: Element = DATA.parse().unwrap(); let mut articles: Vec<Article> = Vec::new(); for child in root.children() { if child.is("article", ARTICLE_NS) { let title = child.get_child("title", ARTICLE_NS).unwrap().text(); let body = child.get_child("body", ARTICLE_NS).unwrap().text(); articles.push(Article { title: title, body: body.trim().to_owned(), }); } } println!("{:?}", articles); }
Usage
To use minidom
, add this to your Cargo.toml
under dependencies
:
minidom = "*"
Reexports
pub use error::Error; |
pub use attribute::Attribute; |
pub use element::Element; |
pub use element::Node; |
pub use element::Children; |
pub use element::ChildrenMut; |
pub use element::ElementBuilder; |
pub use convert::IntoElements; |
pub use convert::IntoAttributeValue; |
Modules
attribute |
Provides an |
convert |
A module which exports a few traits for converting types to elements and attributes. |
element |
Provides an |
error |
Provides an error type for this crate. |