docx_rs/reader/
bookmark_end.rs

1use std::io::Read;
2use std::str::FromStr;
3
4use xml::attribute::OwnedAttribute;
5use xml::reader::EventReader;
6
7use super::*;
8
9impl ElementReader for BookmarkEnd {
10    fn read<R: Read>(
11        _r: &mut EventReader<R>,
12        attrs: &[OwnedAttribute],
13    ) -> Result<Self, ReaderError> {
14        let mut id: Option<usize> = None;
15        for a in attrs {
16            let local_name = &a.name.local_name;
17            if local_name == "id" {
18                id = Some(usize::from_str(&a.value)?);
19            }
20        }
21        if let Some(id) = id {
22            Ok(BookmarkEnd::new(id))
23        } else {
24            Err(ReaderError::XMLReadError)
25        }
26    }
27}