xml_struct_types/v1/
utils.rs

1use crate::v1::XmlStructDocument;
2use crate::v1::error::XmlWriteError;
3use std::io::{Cursor, Read, Seek, SeekFrom};
4
5pub fn write_document_to_string(doc: impl XmlStructDocument) -> Result<String, XmlWriteError> {
6    let mut c = Cursor::new(Vec::new());
7    doc.write_document(&mut c)?;
8
9    c.seek(SeekFrom::Start(0))?;
10    let mut out = Vec::new();
11    c.read_to_end(&mut out)?;
12    Ok(String::from_utf8(out).map_err(|e| e.utf8_error())?)
13}