libxml2 is a software library for parsing XML documents. It is also the basis for the libxslt library which processes XSLT-1.0 stylesheets.
libxml2 is written in the C programming language, and provides bindings to, C++, XSH, C#, Python, Kylix/Delphi and other Pascals, Ruby, and PHP5. It can be accessed from Perl using the XML::LibXML Perl module.
It was originally developed for the GNOME project, but can be used outside it. The libXML code is highly portable, since it depends on standard ANSI C libraries only, and it is released under the MIT license. This library was written by Daniel Veillard and enjoys the active feedback from its users.
bib ref : From Wikipedia, the free encyclopedia