parse full wuchergesetz
This commit is contained in:
@ -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(())
|
||||
}
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user