Different open source tools, most of which use the Xerces implementation (DOM Level 1 and 2) as a base. Xerces itself is available in Java, C++, Perl, and COM.
XML for C++ parser (XML4C) is a validating XML parser written in a portable subset of C++. It implements Level 1 and some of Level 2 DOM, as well as providing SAX interfaces. Source code, samples and API documentation are provided with the parser.