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
Attributesiterator only when needed - no namespace awareness as it requires parsing all
Startelement attributes - no utf8 conversion: prefer searching statically binary comparisons
then use the
as_strorinto_stringmethods
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 cgaracter)
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