#xml

xmpp-parsers

Collection of parsers and serialisers for XMPP extensions

30 releases (breaking)

0.22.0 Nov 1, 2025
0.21.0 Jul 25, 2024
0.20.0 Aug 20, 2023
0.19.2 Dec 17, 2022
0.7.1 Jul 24, 2017

#169 in Network programming

Download history 172/week @ 2025-10-15 200/week @ 2025-10-22 213/week @ 2025-10-29 139/week @ 2025-11-05 178/week @ 2025-11-12 104/week @ 2025-11-19 106/week @ 2025-11-26 166/week @ 2025-12-03 174/week @ 2025-12-10 128/week @ 2025-12-17 38/week @ 2025-12-24 123/week @ 2025-12-31 77/week @ 2026-01-07 181/week @ 2026-01-14 151/week @ 2026-01-21 116/week @ 2026-01-28

548 downloads per month
Used in 14 crates (12 directly)

MPL-2.0 license

1MB
25K SLoC

A crate parsing common XMPP elements into Rust structures.

Each module implements the TryFrom<Element> trait, which takes a minidom Element and returns a Result whose value is Ok if the element parsed correctly, Err(error::Error) otherwise.

The returned structure can be manipulated as any Rust structure, with each field being public. You can also create the same structure manually, with some having new() and with_*() helper methods to create them.

Once you are happy with your structure, you can serialise it back to an Element, using either From or Into<Element>, which give you what you want to be sending on the wire.


xmpp-parsers

What’s this?

A crate which provides parsers and serialisers for most XMPP elements, to avoid having to deal with XML manually. It validates its inputs by default, and aims at providing useful errors when a particular XML element was invalid.

What license is it under?

MPL-2.0 or later, see the LICENSE file.

Dependencies

~10MB
~178K SLoC