Free XML Parser/Generator Libraries
Free XML Parser/Writer Source Code
Free XML Parser/Generator Libraries
The free and/or open source XML parser libraries listed here let you read, parse and write XML documents from your programs/applications. They are not only useful for dealing with the various XML-based formats around, but they can also be handy if you want to create configuration or data files for your programs. This speeds up development since you do not have to invent a new format and write and debug code to handle it.
Note that the libraries listed vary in their approach. Some only handle the very basic XML format, but are relatively fast XML parsers that are easy to understand and use (since they do the bare minimum). Others are more full-fledged, handling the numerous XML standards from W3C and others. Which you choose will of course depend on your purpose and requirements.
Related Pages
- How to Make / Create Your Own Website: The Beginner's A-Z Guide
- Free Game Engines (Game Programming Libraries)
- Free Database Libraries and Source Code
- Free Compression and Archiving Libraries and Source Code
- Free C/C++ Compilers and Interpreters
- How to Register Your Own Domain Name
- Does the Price of a Domain Depend on the Name Chosen? Why do Some Domains Cost So Much?
- Free HTML Editors and WYSIWYG Web Editors
Free XML Parser/Generator Libraries
- Libxml2 (C)
Libxml2 is a C XML parser library, with an assortment of bindings/wrappers for other languages if you don't use C (eg, C++, Perl, Delphi/Pascal, Ruby, PHP, Java, Rexx, AppleScript, etc). It implements the XML standard, namespaces, XML Base, XML Inclusions (XInclude) 1.0, XML Catalogs Working Draft, Canonical XML Version 1.0, W3C XML Schemas Part 2, etc. It has partial support for DOM and SAX (minimal). It is released under the MIT License.
- RapidXML (C++)
RapidXML is a minimal DOM-style XML parser designed for speed. The entire library is contained in a single header file, so no building or linking is needed. It parses the XML into C++ data structures with no validation or decoding whatsoever; strings, in the same encoding as the source file, are returned for everything. Note that this parser is not a W3C-compliant parser. It is released under the Boost Software License or the MIT License, at your option.
- Expat (C)
Expat is a stream-oriented C parser library for XML documents. To use it, your application creates a new parser object, registers callback functions (or handlers) to process the various elements found in the XML document (eg, start and end tags), then call the parser with a buffer pointing to a piece of the document at a time (allowing you to parse huge documents that don't fit into memeory). The library can handle UTF-8 and UTF-16 characters, namespaces and DTDs. This is open source software, with a license that "is the same as the MIT/X Consortium license" (from their README).
- Apache Xerces (C++, Java, Perl)
Apache Xerces is a validating XML parser and parser library that lets your program read and write XML documents. The C++ version of the library conforms to the W3C XML 1.0 (3rd edition) and 1.1 specifications (except normalization checking in 1.1); DOM Level 1; DOM Level 2 Core, Traversal and Range; DOM Level 3 Core, Load and Save; SAX 1.0 and 2.0; the W3C namespaces in XML 1.0 and 1.1; XML Schema parts 1 and 2; XML inclusions (XInclude) 1.0 second edition; and Element Traversal Specification. The Perl version, XML::Xerces, is implemented using the C++ library. The Java library supports XML 1.0 (4th edition) and 1.1 (2nd edition); namespaces in XML 1.0 (2nd edition) and 1.1 (2nd edition); XML Schema 1.0 (2nd edition) and 1.1; XML Schema Definition Language (XSD): Component Designators; XInclude 1.0 2nd edition; OASIS XML Catalogs 1.1; SAX 2.02; DOM level 2 Core, Events, Traversal and Range; DOM Level 3 Core, Load and Save; JAXP 1.4; StAX 1.0 Event API; and Element Traversal. Xerces is released under the Apache Software License.
- Pugixml (C++)
Pugixml is a light-weight C++ non-validating XML processing library with XPath 1.0 and Unicode support. The library parses your data and stores it in memory as a tree, which can be accessed via API or XPath expressions. The tree can also be modified and saved to a file. Pugixml is released under the MIT License.
- XMLIO (C, C++)
XMLIO is a minimal streaming XML parser for C and C++ programs. You set handlers to process the various elements as and when they are encountered. The parser does not handle validation, DOMs, namespaces, etc. It is released under the GNU Library General Public License.
- TinyXML (C++)
TinyXML is a minimal DOM-style XML parser that creates C++ objects from your XML data that can be read, modified and saved. There is no validation, handling of DTDs or much of anything else, as such it has a small footprint. It is released under the Zlib licence.
Related Pages
- Free Installers and Setup Utilities
- Free Source Code Version Control Software
- Free Encryption / Cryptographic Libraries and Source Code
- Free Autorun/Autoplay DVD and CD Menu Creation Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
- Should You Get a Domain Name with Spaces or Dots In Between to Improve Readability?
- What's the Difference Between a Domain Name Registrar and a Web Host?
- Does the Price of a Domain Depend on the Name Chosen? Why do Some Domains Cost So Much?
Newest Pages
- Two Ways to View a Binary File on Windows Without Installing Anything
- How to Restore Expression Web's Design Panel and Layout to its Initial Default State
- How to Draw a Horizontal Line on a Web Page with Expression Web
- How to Embed a Background Image in CSS to Get a Self-Contained Web Page
- How to Create a Website Free of Charge
- Free Software to Create Bootable and Multi-Boot USB drives
- How to Restore the Style Properties Panel in BlueGriffon if It Disappears
- Why Can't I Make Up Any Domain I Want? Is There a Way to Do Away with a Registrar Altogether?
- What's the Difference Between a Domain Name Registrar and a Web Host?
- How to Convert Your Website From HTTP to HTTPS
Popular Pages
- How to Create/Make Your Own Website: The Beginner's A-Z Guide
- How to Register Your Own Domain Name - how to get your own domain name
- What's the Difference Between a Content Management System (CMS), a Blog, a Web Editor and an Online Site Builder?
- Expression Web Tutorial: How to Design a Website with Microsoft Expression Web
- Dreamweaver Tutorial: How to Design a Website with Dreamweaver CS6
- How to Make a Mobile-Friendly Website: Responsive Design in CSS
- BlueGriffon Tutorial: How to Design a Website with BlueGriffon 3
- How to Create a Blog
- Free CD and DVD Burners and Copying Software
- Free Hard Disk Backup and Restore, Hard Disk Image and Cloning Utilities
How to Link to This Page
It will appear on your page as:
Free XML Parser/Generator Libraries