Qt XMLストリームの使用
簡単です.以下に示します.
#include
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
/*
//
QFile file("../myxmlstream/my.xml");//
if (!file.open(QFile::ReadOnly | QFile::Text)){
qDebug()<< "Error: cannot open file";
return 1;
}
// ,
QXmlStreamReader reader;
// ,
reader.setDevice(&file);
while (!reader.atEnd()) {
// ,
QXmlStreamReader::TokenType type = reader.readNext();
//
if (type == QXmlStreamReader::StartDocument)
qDebug()<< reader.documentEncoding()<< reader.documentVersion();
if (type == QXmlStreamReader::StartElement){
qDebug()<< "";
if (reader.attributes().hasAttribute("id"))
qDebug()<< reader.attributes().value("id");
}
if (type == QXmlStreamReader::EndElement)
qDebug()<< "" << reader.name()<";
if (type == QXmlStreamReader::Characters && !reader.isWhitespace())
qDebug()<< reader.text();
}
if (reader.hasError()){
qDebug()<< "error: " << reader.errorString();
}
file.close();
*/
//
QFile file("../myxmlstream/my2.xml");
if (!file.open(QFile::WriteOnly | QFile::Text)){
qDebug()<< "Error: cannot open file";
return 1;
}
QXmlStreamWriter writer(&file);
writer.setAutoFormatting(true); //
writer.writeStartDocument(); // XML
writer.writeStartElement("bookmark");
writer.writeAttribute("href", "http://www.qt.io/");
writer.writeTextElement("title", "Qt Home");
writer.writeEndElement();
writer.writeEndDocument();
file.close();
qDebug()<< "write finished";
return a.exec();
}