Sorry, still not a short, complete, compilable example.
short: Leave out anything that is not necessary to reproduce the problem (eg. writing stuff, when the problem is in the reading part)
complete + compilable: all files needed to produce an executable that demonstrates the error. This does include the necessary header files and - in Qt world - a project file, and - if used - the data files.
Nothing less. Nothing more. No platform dependend paths. Use paths relative to your executable.
Please understand, that we do not have time nor find it funny to create header files for some random class we are supposed to analyze.
Regarding your code, after a short look:
If you call readNextStartElement() you need not check the token type. It is always of type QXmlStreamReader::StartElement.
Also, stick to one type of read: Either readNextStartElement() + readElementText() (and attributes() of course) or do readNext() and peek the contents manually.
You did not have a look at the mentioned streambookmarks example, did you? You can apply the techniques demonstrated there almost one-to-one to your project. You must be brave enough to wipe out your old code and start from scratch, though.