If you're not keen on learning the finer points of DOM you could use a data binding tool. There are some free ones for Java (JAXB or Castor) but for C++ you would need a commercial app like Liquid Technologies XML Data Binding Wizard. This generates you an OO interface in C++ to code against and validates the XML against your Schema without having to deal with a DOM SDK.