There are so many possible solutions that the answer would deserve an article. And searching on Codeproject.com would bring lots of acceptable results. But if you need a relatively simple parser from native C++ code on Windows then
XmlLite[
^] from Microsoft can be recommended first.
Quote from MSDN article
A Small And Fast XML Parser For Native C++[
^]:
"Due to the simplicity of its design, XmlLite manages to provide considerably better performance, even when compared to the MSXML SAX2 implementation. Although the SAX2 parser is better at handling large documents than the DOM implementation, it pales in comparison to XmlLite.
Simply put, XmlLite outperforms MSXML and it is much easier to use from native C++. MSXML will remain the most viable solution for Visual Basic and COM-based scripting languages, but now native Visual C++® finally has an XML parser designed specifically for it."