QtDom方式写xml,以及保存到xml文件中-创新互联

#include 
#include 
#include 
#include 
#include 
#include 

//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内容为:

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比临汾网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式临汾网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖临汾地区。费用合理售后完善,10多年实体公司更值得信赖。


    
        
            
                
            
        
    

DOM方式,在内存中形成一个树状结构,在内存中可以实时的改变xml中的内容。但是耗内存较大,在xml内容较少时可以考虑使用。

而SAX,

QXmlStreamWriter的方式是顺序的,只能按照顺序去添加xml内容,无法回头在改动xml的内容。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:QtDom方式写xml,以及保存到xml文件中-创新互联
文章链接:http://scyanting.com/article/pisgi.html