parse full wuchergesetz

This commit is contained in:
2023-11-04 10:53:45 +01:00
parent 9bd90e15bd
commit 816b234112
5 changed files with 54 additions and 4 deletions

View File

@ -10,5 +10,7 @@ pub(crate) fn parse(url: &str) -> Result<(), Error> {
let xml = fetch_page(url)?;
let risdok = Risdok::from_str(&xml)?;
println!("{risdok}");
Ok(())
}

View File

@ -1,3 +1,5 @@
use std::fmt::Display;
use roxmltree::Node;
use crate::Error;
@ -34,6 +36,23 @@ impl Risdok {
}
}
impl Display for Risdok {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
if let Some(par_header) = &self.nutzdaten.abschnitt.ueberschriftPara {
f.write_str(&format!("# {}", par_header.content))?;
}
for abs in &self.nutzdaten.abschnitt.absatze {
let mut w = String::new();
if let Some(symb) = &abs.gldsym {
w.push_str(&format!("\n{symb} "));
}
w.push_str(&format!("{}\n", abs.content));
f.write_str(&w)?;
}
Ok(())
}
}
#[derive(Debug, PartialEq)]
pub(crate) struct Metadaten;
impl Metadaten {