Enum quick_xml::DeError

source ·
pub enum DeError {
    Custom(String),
    InvalidXml(Error),
    InvalidInt(ParseIntError),
    InvalidFloat(ParseFloatError),
    InvalidBoolean(String),
    KeyNotRead,
    UnexpectedStart(Vec<u8>),
    UnexpectedEnd(Vec<u8>),
    UnexpectedEof,
    ExpectedStart,
    Unsupported(Cow<'static, str>),
    TooManyEvents(NonZeroUsize),
}
Available on crate feature serialize only.
Expand description

(De)serialization error

Variants§

§

Custom(String)

Serde custom error

§

InvalidXml(Error)

Xml parsing error

§

InvalidInt(ParseIntError)

Cannot parse to integer

§

InvalidFloat(ParseFloatError)

Cannot parse to float

§

InvalidBoolean(String)

Cannot parse specified value to boolean

§

KeyNotRead

This error indicates an error in the Deserialize implementation when read a map or a struct: MapAccess::next_value[_seed] was called before MapAccess::next_key[_seed].

You should check your types, that implements corresponding trait.

§

UnexpectedStart(Vec<u8>)

Deserializer encounter a start tag with a specified name when it is not expecting. This happens when you try to deserialize a primitive value (numbers, strings, booleans) from an XML element.

§

UnexpectedEnd(Vec<u8>)

Deserializer encounter an end tag with a specified name when it is not expecting. Usually that should not be possible, because XML reader is not able to produce such stream of events that lead to this error.

If you get this error this likely indicates and error in the quick_xml. Please open an issue at https://github.com/tafia/quick-xml, provide your Rust code and XML input.

§

UnexpectedEof

The Reader produced Event::Eof when it is not expecting, for example, after producing Event::Start but before corresponding Event::End.

§

ExpectedStart

This error indicates that deserialize_struct was called, but there is no any XML element in the input. That means that you try to deserialize a struct not from an XML element.

§

Unsupported(Cow<'static, str>)

An attempt to deserialize to a type, that is not supported by the XML store at current position, for example, attempt to deserialize struct from attribute or attempt to deserialize binary data.

Serialized type cannot be represented in an XML due to violation of the XML rules in the final XML document. For example, attempt to serialize a HashMap<{integer}, ...> would cause this error because XML name cannot start from a digit or a hyphen (minus sign). The same result would occur if map key is a complex type that cannot be serialized as a primitive type (i.e. string, char, bool, unit struct or unit variant).

§

TooManyEvents(NonZeroUsize)

Available on crate feature overlapped-lists only.

Too many events were skipped while deserializing a sequence, event limit exceeded. The limit was provided as an argument

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Raised when there is general error when deserializing a type. Read more
Raised when a Deserialize receives a type different from what it was expecting. Read more
Raised when a Deserialize receives a value of the right type but that is wrong for some other reason. Read more
Raised when deserializing a sequence or map and the input data contains too many or too few elements. Read more
Raised when a Deserialize enum type received a variant with an unrecognized name.
Raised when a Deserialize struct type received a field with an unrecognized name.
Raised when a Deserialize struct type expected to receive a required field with a particular name but that field was not present in the input.
Raised when a Deserialize struct type received more than one of the same field.
Used when a Serialize implementation encounters any error while serializing a type. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to provide by using demand. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.