QT5自学教程(70)——Writing an XML
在这一节将介绍如何把XML文档写入一个文件。首先依旧是先介绍基本概念。
1. Q : 什么是XML?
A :可扩展标记语言(英语:eXtensibleMarkup Language,简称: XML),是一种标记语言。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用的标记语言,比如HTML,也可以使用像XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从标准通用标记语言(SGML)中简化修改出来的。它主要用到的有可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath等。
在了解了相关概念之后,给出我们的例子。
[1]建立一个Qt Console Application项目
[2]在项目添加必要程序
main.cpp程序
//2014/9/15 wayne HDU //问题描述:往一个文件中写入XML内容 #include <QCoreApplication> #include <QDebug> #include <QDomDocument> #include <QDomElement> #include <QFile> #include <QTextStream> int main(int argc,char *argv[]) { QCoreApplication a(argc,argv); //写XML //QDomDocument代表了一个XML文件 QDomDocument doc; //建立根元素 QDomElement root = doc.createElement("Books"); //将其添加到doc中 doc.appendChild(root); //添加一些元素 for(int i=0 ; i<10 ; ++i) { QDomElement book = doc.createElement("Book"); //设置元素的属性 book.setAttribute("Name"," My Book " + QString::number(i)); book.setAttribute("ID",QString::number(i)); root.appendChild(book); for(int h=0 ; h<10 ; ++h) { QDomElement chapter = doc.createElement("Chapter"); chapter.setAttribute("Name"," My chapter " + QString::number(h)); chapter.setAttribute("ID",QString::number(h)); book.appendChild(chapter); } } //写入到文件中 QFile file("F:/test.xml"); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qDebug() << "Failed to open file for writing"; return -1; } else { QTextStream out(&file); out << doc.toString(); out.flush(); file.close(); qDebug() << "Finished"; } return a.exec(); }
[3]输出结果
小结
在这一节介绍了如何向一个文件中写入XML。PS:实验室的铁皮柜打不开了,公式不会推导,生活过的好忧伤o(╯□╰)o。但愿明天会更好。
2014/9/15
Wayne HDU