QT5自学教程(70)——Writing an XML

前端之家收集整理的这篇文章主要介绍了QT5自学教程(70)——Writing an XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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文件内容


小结

在这一节介绍了如何向一个文件中写入XML。PS:实验室的铁皮柜打不开了,公式不会推导,生活过的好忧伤o(╯□╰)o。但愿明天会更好。

2014/9/15

Wayne HDU

猜你在找的XML相关文章