#!/usr/bin/env run-cargo-script
extern crate xml5ever;
use std::default::Default;
use xml5ever::tendril::TendrilSink;
use xml5ever::driver::{parse_document, BytesOpts};
use xml5ever::tree_builder::{TreeSink};
use xml5ever::rcdom::{RcDom, Text};
fn main() {
let dom: RcDom = parse_document(RcDom::default(), Default::default())
.from_bytes(BytesOpts::default())
.one("<hello>XML</hello>".as_bytes());
let doc = &dom.document;
let hello_node = &doc.borrow().children[0];
let hello_tag = &*dom.elem_name(hello_node).local;
let text_node = &hello_node.borrow().children[0];
let xml = {
let mut xml = String::new();
match &text_node.borrow().node {
&Text(ref text) => {
xml.push_str(&*text);
},
e => {println!("{:?}", e);},
};
xml
};
println!("{:?} {:?}!", hello_tag, xml);
}