@@ -0,0 +1,9 @@
+[package]
+name = "xmlparse"
+version = "0.1.0"
+authors = ["Johann Woelper <woelper@gmail.com>"]
+edition = "2018"
+
+[dependencies]
+walkdir = "*"
+treexml = "*"
@@ -0,0 +1,39 @@
+use std::fs::File;
+use std::io::BufReader;
+use treexml;
+fn recurse_children(c: &treexml::Element) -> Vec<treexml::Element> {
+ dbg!(&c.name);
+ c.children.clone().into_iter().flat_map(|x| recurse_children(&x)).collect()
+}
+fn main() {
+ let doc = r#"
+ <level0>
+ <taggy>yo</taggy>
+ <level1>
+ <item>blood</item>
+ <item>thunder</item>
+ <level2>
+ <item>lightning</item>
+ </level2>
+ </level1>
+ </level0>
+ "#;
+ let children: Option<Vec<treexml::Element>> = treexml::Document::parse(doc.as_bytes())
+ .ok()
+ .and_then(|r| r.root)
+ .map(|r| recurse_children(&r));
+ dbg!(children);