91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Qt Dom方式寫xml,以及保存到xml文件中

發布時間:2020-08-01 18:51:37 來源:網絡 閱讀:4130 作者:小溢 欄目:開發技術
#include <QString>
#include <QDebug>
#include <stdio.h>
#include <stdlib.h>
#include <QDomDocument>
#include <QtXml>

//XML DOM的方式
int main(int argc, char *argv[])
{
    QByteArray array;

    QDomDocument doc;
    QDomProcessingInstruction instruction;
    QDomText text;

    instruction = doc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"UTF-8\"");

    doc.appendChild(instruction);                       //doc開頭加入instruction
    QDomElement root = doc.createElement("root");       //創建root節點
    QDomElement common = doc.createElement("common");   //創建節點common
    QDomElement meters = doc.createElement("meters");   //創建節點meters
    QDomElement meter = doc.createElement("meter");
    QDomElement function = doc.createElement("function");

    meters.setAttribute("total", "0");                  //設置屬性名字和值
    meter.setAttribute("id", "0001");
    meter.setAttribute("name", "0001");

    function.setAttribute("id", "01");                //
    function.setAttribute("error", "");

    meters.appendChild(meter);
    common.appendChild(meters);                         //將meters節點添加到common節點中
    doc.appendChild(root);                              //將root節點添加到doc
    root.appendChild(common);                           //將common節點添加到root節點中
    meter.appendChild(function);


    meters.setAttribute("total", "12");
    array = doc.toByteArray();

    printf("%s", array.data());

    //將xml保存到文件中
    QFile file("./why.xml");

    file.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
    QTextStream out(&file);
    out.setCodec("UTF-8");
    doc.save(out, 4, QDomNode::EncodingFromTextStream);

    file.close();

    return 0;
}


輸出的xml內容為:

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <common>
        <meters total="12">
            <meter id="0001" name="0001">
                <function error="" id="01"/>
            </meter>
        </meters>
    </common>
</root>


DOM方式,在內存中形成一個樹狀結構,在內存中可以實時的改變xml中的內容。但是耗內存較大,在xml內容較少時可以考慮使用。

而SAX,

QXmlStreamWriter的方式是順序的,只能按照順序去添加xml內容,無法回頭在改動xml的內容。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳春市| 玉门市| 沈阳市| 佛冈县| 南召县| 仪征市| 吴桥县| 海原县| 新化县| 深州市| 万安县| 永宁县| 利津县| 喀什市| 新昌县| 德钦县| 宁夏| 司法| 德惠市| 佛山市| 永顺县| 剑阁县| 离岛区| 甘德县| 西乌| 金阳县| 九龙城区| 喀喇| 平安县| 元谋县| 通渭县| 汉源县| 麻江县| 抚州市| 昆山市| 体育| 望谟县| 宝山区| 天祝| 漳平市| 延安市|