[−][src]Struct xmlwriter::XmlWriter
An XML writer.
Methods
impl XmlWriter
[src]
pub fn new(opt: Options) -> Self
[src]
Creates a new XmlWriter
.
pub fn with_capacity(capacity: usize, opt: Options) -> Self
[src]
Creates a new XmlWriter
with a specified capacity.
pub fn write_declaration(&mut self)
[src]
Writes an XML declaration.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
Panics
- When called twice.
pub fn write_comment(&mut self, text: &str)
[src]
Writes a comment string.
pub fn write_comment_fmt(&mut self, fmt: Arguments)
[src]
Writes a formatted comment.
pub fn start_element(&mut self, name: &str)
[src]
Starts writing a new element.
This method writes only the <tag-name
part.
pub fn write_attribute<V: Display + ?Sized>(&mut self, name: &str, value: &V)
[src]
Writes an attribute.
Quotes in the value will be escaped.
Panics
- When called before
start_element()
. - When called after
close_element()
.
Example
use xmlwriter::*; let mut w = XmlWriter::new(Options::default()); w.start_element("svg"); w.write_attribute("x", "5"); w.write_attribute("y", &5); assert_eq!(w.end_document(), "<svg x=\"5\" y=\"5\"/>\n");
pub fn write_attribute_fmt(&mut self, name: &str, fmt: Arguments)
[src]
Writes a formatted attribute value.
Quotes in the value will be escaped.
Panics
- When called before
start_element()
. - When called after
close_element()
.
Example
use xmlwriter::*; let mut w = XmlWriter::new(Options::default()); w.start_element("rect"); w.write_attribute_fmt("fill", format_args!("url(#{})", "gradient")); assert_eq!(w.end_document(), "<rect fill=\"url(#gradient)\"/>\n");
pub fn write_attribute_raw<F>(&mut self, name: &str, f: F) where
F: FnOnce(&mut Vec<u8>),
[src]
F: FnOnce(&mut Vec<u8>),
Writes a raw attribute value.
Closure provides a mutable reference to an internal buffer.
Warning: this method is an escape hatch for cases when you need to write a lot of data very fast.
Panics
- When called before
start_element()
. - When called after
close_element()
.
Example
use xmlwriter::*; let mut w = XmlWriter::new(Options::default()); w.start_element("path"); w.write_attribute_raw("d", |buf| buf.extend_from_slice(b"M 10 20 L 30 40")); assert_eq!(w.end_document(), "<path d=\"M 10 20 L 30 40\"/>\n");
pub fn set_preserve_whitespaces(&mut self, preserve: bool)
[src]
Sets the preserve whitespaces flag.
- If set, text nodes will be written as is.
- If not set, text nodes will be indented.
Can be set at any moment.
Example
use xmlwriter::*; let mut w = XmlWriter::new(Options::default()); w.start_element("html"); w.start_element("p"); w.write_text("text"); w.end_element(); w.start_element("p"); w.set_preserve_whitespaces(true); w.write_text("text"); w.end_element(); w.set_preserve_whitespaces(false); assert_eq!(w.end_document(), "<html> <p> text </p> <p>text</p> </html> ");
pub fn write_text(&mut self, text: &str)
[src]
Writes a text node.
See write_text_fmt()
for details.
pub fn write_text_fmt(&mut self, fmt: Arguments)
[src]
pub fn end_element(&mut self)
[src]
Closes an open element.
pub fn end_document(self) -> String
[src]
Closes all open elements and returns an internal XML buffer.
Example
use xmlwriter::*; let mut w = XmlWriter::new(Options::default()); w.start_element("svg"); w.start_element("g"); w.start_element("rect"); assert_eq!(w.end_document(), "<svg> <g> <rect/> </g> </svg> ");
Auto Trait Implementations
impl Sync for XmlWriter
impl Send for XmlWriter
impl Unpin for XmlWriter
impl RefUnwindSafe for XmlWriter
impl UnwindSafe for XmlWriter
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,