Struct quick_xml::events::attributes::Attribute
source · Expand description
A struct representing a key/value XML attribute.
Field value stores raw bytes, possibly containing escape-sequences. Most users will likely
want to access the value using one of the unescaped_value and unescape_and_decode_value
functions.
Fields
key: &'a [u8]The key to uniquely define the attribute.
If Attributes::with_checks is turned off, the key might not be unique.
value: Cow<'a, [u8]>The raw value of the attribute.
Implementations
sourceimpl<'a> Attribute<'a>
impl<'a> Attribute<'a>
sourcepub fn unescaped_value(&self) -> Result<Cow<'_, [u8]>>
pub fn unescaped_value(&self) -> Result<Cow<'_, [u8]>>
Returns the unescaped value.
This is normally the value you are interested in. Escape sequences such as > are
replaced with their unescaped equivalents such as >.
This will allocate if the value contains any escape sequences.
sourcepub fn unescape_and_decode_value<B: BufRead>(
&self,
reader: &Reader<B>
) -> Result<String>
pub fn unescape_and_decode_value<B: BufRead>(
&self,
reader: &Reader<B>
) -> Result<String>
Returns the unescaped and decoded string value.
This allocates a String in all cases. For performance reasons it might be a better idea to
instead use one of:
unescaped_value(), as it doesn’t allocate when no escape sequences are used.Reader::decode(), as it only allocates when the decoding can’t be performed otherwise.
Trait Implementations
sourceimpl<'a> From<(&'a [u8], &'a [u8])> for Attribute<'a>
impl<'a> From<(&'a [u8], &'a [u8])> for Attribute<'a>
sourcefn from(val: (&'a [u8], &'a [u8])) -> Attribute<'a>
fn from(val: (&'a [u8], &'a [u8])) -> Attribute<'a>
Creates new attribute from raw bytes. Does not apply any transformation to both key and value.
Examples
use quick_xml::events::attributes::Attribute;
let features = Attribute::from(("features".as_bytes(), "Bells & whistles".as_bytes()));
assert_eq!(features.value, "Bells & whistles".as_bytes());sourceimpl<'a> From<(&'a str, &'a str)> for Attribute<'a>
impl<'a> From<(&'a str, &'a str)> for Attribute<'a>
sourcefn from(val: (&'a str, &'a str)) -> Attribute<'a>
fn from(val: (&'a str, &'a str)) -> Attribute<'a>
Creates new attribute from text representation. Key is stored as-is, but the value will be escaped.
Examples
use quick_xml::events::attributes::Attribute;
let features = Attribute::from(("features", "Bells & whistles"));
assert_eq!(features.value, "Bells & whistles".as_bytes());