pub fn to_writer_with_options<W: Write, T: Facet<'static>>(
writer: &mut W,
value: &T,
options: &SerializeOptions,
) -> Result<(), XmlError>Expand description
Serialize a value of type T to a writer as XML with custom options.
ยงExample
#[derive(Facet)]
struct Person {
#[facet(xml::attribute)]
id: u32,
#[facet(xml::element)]
name: String,
}
let person = Person { id: 42, name: "Alice".into() };
// Compact output (default)
let mut buffer = Vec::new();
to_writer_with_options(&mut buffer, &person, &SerializeOptions::default())?;
assert_eq!(buffer, br#"<Person id="42"><name>Alice</name></Person>"#);
// Pretty output with default indent
let mut buffer = Vec::new();
to_writer_with_options(&mut buffer, &person, &SerializeOptions::default().pretty())?;
// Pretty output with custom indent (tabs)
let mut buffer = Vec::new();
to_writer_with_options(&mut buffer, &person, &SerializeOptions::default().indent("\t"))?;