: I recommend you take a look at Xalan and Xerces (http://xml.apache.org/). Xerces can parse XML and provide you with the DOM (an object-based view of the XML file). Xalan can do XSLT (XML transformations) on XML documents, and works with Xerces.
:
if you're looking for free/portable, then xerces is the most probable option (although it's kind of a beastie). there are some less-than-complete c++ wrappers on top of expat that might fit the bill, depending on what you need.
otherwise, there are options like msxml (ugh! xerces suddenly looks quite good

) or QT's parser (kind of niche though, since QT is far from mainstream).
jokes aside, these are (at least some of) the c++ libs. if c++ is not a must, go with libxml2 - i'm kind of reluctant to recommend expat unless you know your C, since it seriously is a beast (look at the source code and get lost in the macro maze).