pub struct ElementWriter<'a, W> { /* private fields */ }Expand description
A struct to write an element. Contains methods to add attributes and inner elements to the element
Implementations§
Source§impl<'a, W> ElementWriter<'a, W>
 
impl<'a, W> ElementWriter<'a, W>
Sourcepub fn with_attribute<'b, I>(self, attr: I) -> Self
 
pub fn with_attribute<'b, I>(self, attr: I) -> Self
Adds an attribute to this element.
Sourcepub fn with_attributes<'b, I>(self, attributes: I) -> Self
 
pub fn with_attributes<'b, I>(self, attributes: I) -> Self
Add additional attributes to this element using an iterator.
The yielded items must be convertible to Attribute using Into.
Sourcepub fn new_line(self) -> Self
 
pub fn new_line(self) -> Self
Push a new line inside an element between attributes. Note, that this
method does nothing if Writer was created without indentation support.
§Examples
The following code
let mut buffer = Vec::new();
let mut writer = Writer::new_with_indent(&mut buffer, b' ', 2);
writer
  .create_element("element")
    //.new_line() (1)
    .with_attribute(("first", "1"))
    .with_attribute(("second", "2"))
    .new_line()
    .with_attributes([
        ("third", "3"),
        ("fourth", "4"),
    ])
    //.new_line() (2)
    .write_empty();will produce the following XMLs:
<!-- result of the code above. Spaces always is used -->
<element first="1" second="2"
         third="3" fourth="4"/>
<!-- if uncomment only (1) - indent depends on indentation
     settings - 2 spaces here -->
<element
  first="1" second="2"
  third="3" fourth="4"/>
<!-- if uncomment only (2). Spaces always is used  -->
<element first="1" second="2"
         third="3" fourth="4"
/>Source§impl<'a, W: Write> ElementWriter<'a, W>
 
impl<'a, W: Write> ElementWriter<'a, W>
Sourcepub fn write_text_content(
    self,
    text: BytesText<'_>,
) -> Result<&'a mut Writer<W>>
 
pub fn write_text_content( self, text: BytesText<'_>, ) -> Result<&'a mut Writer<W>>
Write some text inside the current element.
Sourcepub fn write_cdata_content(
    self,
    text: BytesCData<'_>,
) -> Result<&'a mut Writer<W>>
 
pub fn write_cdata_content( self, text: BytesCData<'_>, ) -> Result<&'a mut Writer<W>>
Write a CData event <![CDATA[...]]> inside the current element.
Sourcepub fn write_pi_content(self, pi: BytesPI<'_>) -> Result<&'a mut Writer<W>>
 
pub fn write_pi_content(self, pi: BytesPI<'_>) -> Result<&'a mut Writer<W>>
Write a processing instruction <?...?> inside the current element.
Sourcepub fn write_empty(self) -> Result<&'a mut Writer<W>>
 
pub fn write_empty(self) -> Result<&'a mut Writer<W>>
Write an empty (self-closing) tag.
Auto Trait Implementations§
impl<'a, W> Freeze for ElementWriter<'a, W>
impl<'a, W> RefUnwindSafe for ElementWriter<'a, W>where
    W: RefUnwindSafe,
impl<'a, W> Send for ElementWriter<'a, W>where
    W: Send,
impl<'a, W> Sync for ElementWriter<'a, W>where
    W: Sync,
impl<'a, W> Unpin for ElementWriter<'a, W>
impl<'a, W> !UnwindSafe for ElementWriter<'a, W>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more