XmlStreamReader

Struct XmlStreamReader 

Source
pub struct XmlStreamReader<R: BufRead> { /* private fields */ }
Expand description

A streaming XML reader that enforces XmlSafetyPolicy without retaining a full document.

Implementations§

Source§

impl<R: BufRead> XmlStreamReader<R>

Source

pub fn new(reader: R, policy: XmlSafetyPolicy) -> Result<Self, Error>

Creates a bounded streaming reader.

§Errors

Returns an error when policy contains a zero limit.

Source

pub fn read_event(&mut self) -> Result<XmlStreamEvent<'_>, Error>

Reads and validates the next XML event.

§Errors

Returns an error for underlying I/O failures, malformed or invalidly encoded XML, forbidden document constructs, or any configured safety-limit violation.

Source

pub fn read_text_current(&mut self) -> Result<String, Error>

Reads direct text and CDATA until the end of the current start element.

§Errors

Returns an error when no current start element is available, a nested element is found, or event reading or XML validation fails.

Source

pub fn skip_current(&mut self) -> Result<(), Error>

Skips the current start element and all descendants with constant retained memory.

§Errors

Returns an error when no current start element is available, nesting overflows, the document ends early, or event reading or XML validation fails.

Source

pub fn capture_current( &mut self, max_bytes: usize, ) -> Result<ValidatedXml, Error>

Materializes only the current subtree as a validated owned XML value.

§Errors

Returns an error when no current start element is available, max_bytes is zero, namespace synthesis or event decoding fails, the subtree exceeds its output bound, or the captured XML fails validation.

Source

pub fn into_inner(self) -> R

Auto Trait Implementations§

§

impl<R> Freeze for XmlStreamReader<R>
where R: Freeze,

§

impl<R> RefUnwindSafe for XmlStreamReader<R>
where R: RefUnwindSafe,

§

impl<R> Send for XmlStreamReader<R>
where R: Send,

§

impl<R> Sync for XmlStreamReader<R>
where R: Sync,

§

impl<R> Unpin for XmlStreamReader<R>
where R: Unpin,

§

impl<R> UnwindSafe for XmlStreamReader<R>
where R: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more