QFile sourceFile
("source.xml");
if( !sourceFile.
open( QIODevice::ReadOnly ) ) return;
QFile targetFile
("output.txt");
if( !targetFile.
open( QIODevice::WriteOnly ) ) return;
QXmlStreamReader reader(&sourceFile);
bool lastElementHadText = true;
while( !reader.atEnd() ) {
reader.readNext();
if( reader.isStartElement() ) {
if( !lastElementHadText )
writer << "-----end-----" <<endl;
writer << "-----start-----" << endl;
writer << reader.name().toString() << endl;
foreach( QXmlStreamAttribute attribute, reader.attributes() ) {
writer << attribute.name().toString() << "=" << attribute.value().toString() << ", ";
}
if( reader.attributes().count() > 0 )
writer << endl;
}
if( reader.isCharacters() && !reader.isWhitespace() ) {
lastElementHadText = true;
writer << reader.text().toString() << endl;
writer << "-----end-----" <<endl;
}
}
writer.flush();
targetFile.close();
sourceFile.close();