Struct quick_xml::Element
[−]
[src]
pub struct Element { // some fields omitted }
General content of an event (aka node)
Element is a wrapper over the bytes representing the node:
E.g. given a node <name att1="a", att2="b">
, the corresponding Event
will be
Event::Start(Element { buf: b"name att1=\"a\", att2=\"b\"", start: 0, end: b"name att1=\"a\", att2=\"b\"".len(), name_end: b"name".len() })
For performance reasons, most of the time, no character searches but
b'<'
and b'>'
are performed:
- no attribute parsing: use lazy
Attributes
iterator only when needed - no namespace awareness as it requires parsing all
Start
element attributes - no utf8 conversion: prefer searching statically binary comparisons
then use the
as_str
orinto_string
methods
Methods
impl Element
[src]
fn new<A>(name: A) -> Element where A: AsRef<[u8]>
Creates a new Element from the given name. name is a reference that can be converted to a byte slice, such as &[u8] or &str
fn with_attributes<K, V, I>(self, attributes: I) -> Self where K: AsRef<[u8]>, V: AsRef<[u8]>, I: IntoIterator<Item=(K, V)>
Consumes self and adds attributes to this element from an iterator over (key, value) tuples. Key and value can be anything that implements the AsRef<[u8]> trait, like byte slices and strings.
fn name(&self) -> &[u8]
name as &u8
fn content(&self) -> &[u8]
whole content as &u8
fn unescaped_content(&self) -> ResultPos<Cow<[u8]>>
gets escaped content
Searches for '&' into content and try to escape the coded character if possible returns Malformed error with index within element if '&' is not followed by ';'
fn attributes(&self) -> Attributes
gets attributes iterator
fn unescaped_attributes(&self) -> UnescapedAttributes
gets attributes iterator whose attribute values are unescaped ('&...;' replaced by their corresponding character)
fn extend_attributes<K, V, I>(&mut self, attributes: I) -> &mut Element where K: AsRef<[u8]>, V: AsRef<[u8]>, I: IntoIterator<Item=(K, V)>
extend the attributes of this element from an iterator over (key, value) tuples. Key and value can be anything that implements the AsRef<[u8]> trait, like byte slices and strings.
fn into_string(self) -> Result<String>
consumes entire self (including eventual attributes!) and returns String
useful when we need to get Text event value (which don't have attributes)
fn push_attribute<K, V>(&mut self, key: K, value: V) where K: AsRef<[u8]>, V: AsRef<[u8]>
Adds an attribute to this element from the given key and value. Key and value can be anything that implements the AsRef<[u8]> trait, like byte slices and strings.
Trait Implementations
impl Clone for Element
[src]
fn clone(&self) -> Element
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more