libxml2
libxml2 is a software library written in C that provides parsing, creation, and manipulation of XML documents. It exposes a DOM-like in-memory tree as well as streaming interfaces (SAX) and a robust XPath engine for querying. The library is widely used by applications and other libraries as a core XML processor.
Core capabilities include parsing of XML 1.0 and XML 1.1 documents, namespace processing, validation against DTDs,
Portability and performance are emphasized. libxml2 runs on a broad range of operating systems and compilers,
Licensing and history: libxml2 is released under a permissive MIT/X Consortium-style license. It was developed by