I want to build a simple XML parser using C++. At first, I don't mind about DTD declarations or special features. I want to be able to load an XML string and then output the code in a simple tree holding strings (the values of the XML document) But the problem is that although I know all about XML, I haven't got the slightest idea about how to make an XML parser (or any other parser of the same logic). I believe a recursive descent parser is sufficient. Can anyone point me into the right direction? All I want is a general idea, like the way I will organize my classes, what STL classes would prove useful... A general documentation upon parsers would also be helpful (google should work, but I always find better answers in forums).