The solution by Sergey Alexandrovich Kryukov should be fine for linking with Managed C++.
There are 3 that I know of which seem to support the use of xsds (does anyone still think CDATA sections are the best solution?). If you don't need schema validation, then you can ignore the next bit:
xerces
This is big and fairly awkward to learn without samples (thankfully, there are many in googleland), but is probably the most feature-rich and free parser you can get.
libxml2
This is a nightmare if you look at the rather appalling on-line help and lack of samples beyond the most basic. As expected from this little rant - it is a Linux library. I haven't looked, but there may be a port.
msxml
This was a more common way to parse xml in MFC applications. It was COM based and does have 64-bit support. I have never actually used it, but as a "mature" Microsoft library, there should be a fair amount of help on-line.
--
Alternatively, there are a few less "bloated" xml parsers right here on codeproject:
CXMLFile - A Simple C++ XML Parser[
^]
Simple C++ XML Parser[
^]
If you search codeproject, there will be plenty more.
From your description, it sounds like you are trying to find something that is a 1-click solution that does everything for you. Maybe I am wrong about this, but with xml parsers, you have to do some coding yourself. The most simple parsers usually demand the following at a minimum when parsing:
a) load an xml file/string data into the parser
b) run the parser
c) read the output
Some parsers will build a nice set of objects for you that you can read, while others are more involved, i.e. you have to move the parsed data into objects you have written yourself.
I have used tinyxml myself and found it to be ok - it worked fine. Perhaps you could explain why your used xml parsers actually failed?