• Qt中利用QDomDocument读写xml小Demo


    1.写入xml文档中

    bool protProjectInfo::SaveXml() 
    {
    	//QFile file(mProjectInfoPath.filePath("projectconfig.xml"));    
         QFile file("c:/projectconfig.xml");
    	if(! file.open(QIODevice::WriteOnly)) {
    		//logger()->error("open file fail '%1'.",mProjectInfoPath.filePath("projectconfig.xml"));
    		file.close();
    		return false;
    	}
    	QDomDocument projectinfodom;
    	projectinfodom.appendChild( projectinfodom.createProcessingInstruction("xml","version="1.0" encoding="UTF-8""));
    	QDomElement projectelement = projectinfodom.createElement("Project");
    	projectinfodom.appendChild(projectelement);
    	
    	QDomElement projectnameelement = projectinfodom.createElement("ProjectName");
    	projectnameelement.appendChild(projectinfodom.createTextNode(mProjectName));
    	projectelement.appendChild(projectnameelement);
    
    	QDomElement createtimeelement = projectinfodom.createElement("CreateTime");
    	createtimeelement.appendChild(projectinfodom.createTextNode(mCreateTime.toString("yyyy/MM/dd hh:mm:ss")));
    	projectelement.appendChild(createtimeelement);
    
    	QTextStream stream(&file);
    	projectinfodom.save(stream,4);
    	file.close();
    	return true;
    }
    

     2.读xml文件

    bool protProjectInfo::LoadXml()
    {
    	//QFile file(mProjectInfoPath.filePath("projectconfig.xml"));     
        QFile file("c:/projectconfig.xml"); 
    	if(! file.open(QIODevice::ReadOnly)) {
    		//logger()->error("Open '%1' failed,'%2'.",mProjectInfoPath.filePath("projectconfig.xml"),file.errorString());	
    		return false;
    	}
    	QDomDocument doc;
    	if (! doc.setContent(&file,true)) {
    		//logger()->error("QDomDocument setContent fail.");
    		file.close();
    		return false;
    	}
    	file.close();
    	QDomElement docrootelement = doc.documentElement();
    	QDomElement projectnameelement = docrootelement.firstChildElement("ProjectName");
    	QDomElement createtimeelement = docrootelement.firstChildElement("CreateTime");
    	
    	mProjectName = projectnameelement.text();
    	mCreateTime =  QDateTime::fromString(createtimeelement.text(),"yyyy/MM/dd hh:mm:ss");
    	return true;
    }
    

     3.注意事项

        
        1.protProjectInfo 是个简单类
    	    QDir mProjectInfoPath;
    
             QString mProjectName;
    
             QDateTime mCreateTime;
        2.xml格式如下
        <?xml version="1.0" encoding="UTF-8"?>
            <Project>
                <ProjectName>project09</ProjectName>
                <CreateTime>2015/07/22 16:22:05</CreateTime>
            </Project>
    
     QFile file("c:/projectconfig.xml");
  • 相关阅读:
    消除醉酒痛苦的九种食品
    要成功,就马上准备有所付出吧!这就是每天你应该养成的习惯。
    赞美
    人的一生究竟需要多少钱?
    试试看
    ubuntu 环境变量PATH的修改[转]
    Ubuntu netsnmp安装
    ubuntu终止进程的方法
    Linux(ubuntu)下MySQL整个数据库的备份与还原 Linux下MySQL整个数据库的备份与还原[转]
    Ubuntu防火墙 UFW 设置
  • 原文地址:https://www.cnblogs.com/L-Lune/p/4670659.html
Copyright © 2020-2023  润新知