All Topics
All Topics
Technology
Technology
Design
Design
Programming
Programming
Science
Science
News
News
Gaming
Gaming
Entertainment
Entertainment
Business
Business
Finance
Finance
Sports
Sports
Health
Health
Food
Food
Travel
Travel
Art
Art
Music
Music
Books
Books
Education
Education
Politics
Politics
Personal
Personal
No algorithm. No AI slop. No ads. Just RSS. Pro-human. Indie writers. Real journalism. Open web. Chronological. Hand toasted.

xmloxide: A Pure Rust Reimplementation of libxml2 for Memory-Safe XML Parsing

By

jawiggins

3mo ago· 8 min readenCode

Summary

xmloxide is a pure Rust reimplementation of the libxml2 XML/HTML parsing library, created as a memory-safe, high-performance replacement after libxml2 became officially unmaintained in December 2025 with known security issues. The project aims to provide full conformance with W3C XML standards while offering improved safety through Rust's memory safety features, including arena-based tree structures and zero unsafe code in the public API. It achieves 100% pass rate on the W3C XML Conformance Test Suite and maintains compatibility with libxml2's error recovery capabilities for parsing malformed XML.

Key quotes

· 5 pulled
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.
Memory-safe — arena-based tree with zero unsafe in the public API
Conformant — 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
Snippet from the RSS feed
A pure Rust reimplementation of libxml2. Contribute to jonwiggins/xmloxide development by creating an account on GitHub.

You might also wanna read