Newer
Older

Jan Reher
committed
#include <vector>
#include <iostream>
#include <QtCore/QString>
#include <QtXml/QXmlStreamWriter>
int main() {
std::vector<QString> apds;
apds.push_back(QString::fromUtf8("1234567890"));
apds.push_back(QString::fromUtf8("4567890123"));
apds.push_back(QString::fromUtf8("7890123456"));
int batch = 1;
QString buffer;
QXmlStreamWriter xml ( &buffer );
xml.setAutoFormatting ( true );
xml.writeStartDocument ( QString::fromUtf8 ( "1.0" ) );
xml.writeStartElement ( QString::fromUtf8 ( "productiondb" ) );
xml.writeTextElement ( QString::fromUtf8 ( "batch_type" ), QString::fromUtf8 ( "after irradiation" ) );
xml.writeStartElement ( QString::fromUtf8 ( "elements" ) );
int j = 1;
for ( auto i = apds.begin(); i != apds.end(); i++, j++ ) {
xml.writeStartElement ( QString::fromUtf8 ( "apd" ) );
xml.writeTextElement ( QString::fromUtf8 ( "serial" ), *i );
xml.writeTextElement ( QString::fromUtf8 ( "batch_number" ), QString::number ( batch, 10 ) );
xml.writeTextElement ( QString::fromUtf8 ( "position" ), QString::number( j, 10 ) );
xml.writeEndElement();
}
xml.writeEndDocument(); // This closes all open tags automatically.
std::cerr << buffer.toStdString() << std::endl;
}