What have you used to parse XML files in C++?
Xml Parser, C++
I've used Xerces in the past -- I didn't spend any significant amount of time researching or weighing its pros and cons versus competitors. The impression I get is that Xerces is probably the most conformant (its an Apache project, and is a validating parser) and is likely the most heavyweight library, for good and for ill. The other options mentioned here will likely get the job done in any case, and with conformant input themselves, even if they don't accept all conformant XML (that is, my impression is that they accept a pure subset of valid XML that differs in little-used ways, or ways not relevant to their use cases -- and that they do not accept invalid XML).
I wrote a partial xml parser (for Tiled's tmx files) with std::regex yesterday, lol. Knowing what fields are going to be (or should be) present makes it a lot easier to work on.
What have you used to parse XML files in C++?
Exactly what do you want to do with these parsed XML files?
If you just want to read the XML into a data structure, TinyXML is simple and lightweight.
But it doesn't do schema validation or XSL transforms.
Libxml and Xerces will (I think, been a while since I used them), but it's not as easy to use.
http://pugixml.org/ is a very nice one and my favourite, especially since it's just 2 headers and a source so it can be dropped right into project's source tree, zero hassle with building, linking. It has extremely friendly API in same naming style as C++ std lib does.