docx_rs/reader/
bookmark_end.rs1use 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}