xmloxide
A pure Rust reimplementation of libxml2 — the de facto standard XML/HTML parsing library in the open-source world.
libxml2 became officially unmaintained in December 2025 with known security issues. xmloxide aims to be a memory-safe, high-performance replacement that passes the same conformance test suites.
Features
Memory-safe — arena-based tree with zero unsafe in the public API
— arena-based tree with zero in the public API Conformant — 100% pass rate on the W3C XML Conformance Test Suite (1727/1727 applicable tests)
— 100% pass rate on the W3C XML Conformance Test Suite (1727/1727 applicable tests) Error recovery — parse malformed XML and still produce a usable tree, just like libxml2
— parse malformed XML and still produce a usable tree, just like libxml2 Multiple parsing APIs — DOM tree, SAX2 streaming, XmlReader pull, push/incremental
— DOM tree, SAX2 streaming, XmlReader pull, push/incremental HTML parser — error-tolerant HTML 4.01 parsing with auto-closing and void elements
— error-tolerant HTML 4.01 parsing with auto-closing and void elements XPath 1.0 — full expression parser and evaluator with all core functions
... continue reading