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