extern crate minidom;
use minidom::Element;
const DATA: &str = r#"
10 Terrible Bugs You Would NEVER Believe Happened
Rust fixed them all. <3
BREAKING NEWS: Physical Bug Jumps Out Of Programmer's Screen
Just kidding!
"#;
const ARTICLE_NS: &str = "article";
#[derive(Debug)]
pub struct Article {
title: String,
body: String,
}
fn main() {
let root: Element = DATA.parse().unwrap();
let mut articles: Vec = 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);
}