In the end, I think it is just a decision about what you like more.

In my project I use QDom* and represent all XML-content in classes. Thus each class also have a readFromXML and writeToXML function with a QDomNode or QDomElement parameter. With that approach I am very happy.

If you don't need that your files are user readable and editable. I would also consider to use QDataStream direct, which is much faster than using XML.