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");
原文地址:https://www.cnblogs.com/L-Lune/p/4670659.html