XmlDocument

Struct XmlDocument 

Source
pub struct XmlDocument<S> { /* private fields */ }
Expand description

An immutable XML tree whose nodes reference ranges in source whenever possible.

S may be &[u8], Arc<[u8]>, Vec<u8>, or another byte container.

Implementations§

Source§

impl<S: AsRef<[u8]>> XmlDocument<S>

Source

pub fn parse(source: S) -> Result<Self, Error>

Parses a complete XML document with the default bounded policy.

§Errors

Returns an error when the source violates the default safety policy, is malformed, or contains invalid XML data or encoding.

Source

pub fn parse_with_options( source: S, options: &ParseOptions, ) -> Result<Self, Error>

Parses a complete XML document into a flat arena.

§Errors

Returns an error when options is invalid, the source exceeds a configured limit, or the XML is malformed or has invalid data or encoding.

Source

pub fn source(&self) -> &[u8]

Source

pub fn into_source(self) -> S

Source

pub fn root(&self) -> ElementRef<'_, S>

Source

pub fn node(&self, id: NodeId) -> Option<NodeRef<'_, S>>

Source

pub fn node_count(&self) -> usize

Source

pub fn allocated_value_count(&self) -> usize

Source

pub fn write_original<W: Write>(&self, writer: W) -> Result<(), Error>

Writes the exact original document bytes to writer.

§Errors

Returns an I/O error when the destination rejects the write.

Source§

impl XmlDocument<Arc<[u8]>>

Source

pub fn from_reader<R: Read>(reader: R) -> Result<Self, Error>

Reads and parses a complete document with the default bounded policy.

§Errors

Returns an error when reading fails or the input violates the default XML safety and well-formedness contract.

Source

pub fn from_reader_with_options<R: Read>( reader: R, options: &ParseOptions, ) -> Result<Self, Error>

Reads at most one byte beyond the configured limit before parsing an owned document.

§Errors

Returns an error when options is invalid, reading fails, the input exceeds the byte limit, or the XML violates a configured safety or well-formedness rule.

Trait Implementations§

Source§

impl<S: Debug> Debug for XmlDocument<S>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> Freeze for XmlDocument<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for XmlDocument<S>
where S: RefUnwindSafe,

§

impl<S> Send for XmlDocument<S>
where S: Send,

§

impl<S> Sync for XmlDocument<S>
where S: Sync,

§

impl<S> Unpin for XmlDocument<S>
where S: Unpin,

§

impl<S> UnwindSafe for XmlDocument<S>
where S: 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