Qt写XML文件的步骤
Qt读XML文件的步骤1、首先创建一个xml的文件。// 头文件 #include QFile #include QString #include QDebug // 创建XML文件 QString xmlPath ./template.xml QFile xmlFile(xmlPath) // 判断文件是否存在 if( true xmlPath.exists() ) { qDebug() 文件已存在; // 执行存在的逻辑 } else { qDebug() 文件不存在 // 执行不存在的逻辑 bool isOpen xmlFile.open(QIODevice::WriteOnly); if( true isOpen ) { // 打开成功开始添加xml文件的内容 // 添加完成后记得关闭文件 xmlFile.close(); } else { qDebug() 文件打开失败; } }2、添加XML文件的头部格式? xml version1.0 encodingutf-8 ?// 头文件 #include QDomDocument #include QDomProcessingInstruction #include QTextStream // 创建头部格式 QDomDocument document; QDomProcessingInstruction ins document.createProcessingInstruction(xml, version\1.0\ encoding\utf-8\); document.appendChild(ins); // 写入xml头部格式 QTextStream stream(xmlFile); document.save(stream, 4); // 这里的4代表首行缩进4个字节2、添加根节点root/// 头文件 #include QDomElement // 添加根节点 QDomElement root document.createElement(root); document.appendChild(root);3、添加子节点rootnode attr1属性1 attr2属性2子节点/node/root// 头文件 #include QDomAttr #include QDomText // 添加子节点 QDomElement node document.createElement(node) root.appendChild(node) // 添加属性 QDomAttr attr1 document.createAttribute(attr1); attr1.setValue(QString::fromLocal8Bit(属性1)) node.setAttributeNode(attr1); QDomAttr attr2 document.createAttribute(attr2); attr2.setValue(QString::fromLocal8Bit(属性2)) node.setAttributeNode(attr2); QDomText text document.createTextNode(QString::fromLocal8Bit(子节点)) node.appendChild(text); root.appendChild(node);4、完整代码? xml version1.0 encodingutf-8 ?rootnode attr1属性1 attr2属性2子节点/node/root// 头文件 #include QFile #include QString #include QDebug #include QDomDocument #include QDomProcessingInstruction #include QTextStream #include QDomElement #include QDomAttr #include QDomText int main(int argc, char* argv[]) { // 创建XML文件 QString xmlPath ./template.xml; QFile xmlFile(xmlPath); // 判断文件是否存在 if(xmlFile.exists()) { qDebug() 文件已存在; // 执行存在的逻辑 } else { qDebug() 文件不存在; // 执行不存在的逻辑 bool isOpen xmlFile.open(QIODevice::WriteOnly); if(isOpen) { // 打开成功开始添加xml文件的内容 // 创建头部格式 QDomDocument document; QDomProcessingInstruction ins document.createProcessingInstruction(xml, version\1.0\ encoding\UTF-8\); document.appendChild(ins); // 添加根节点 QDomElement root document.createElement(root); document.appendChild(root); // 添加子节点 QDomElement node document.createElement(node); // 添加属性 QDomAttr attr1 document.createAttribute(attr1); attr1.setValue(QString::fromLocal8Bit(属性1)); node.setAttributeNode(attr1); QDomAttr attr2 document.createAttribute(attr2); attr2.setValue(QString::fromLocal8Bit(属性2)); node.setAttributeNode(attr2); // 添加文本 QDomText text document.createTextNode(QString::fromLocal8Bit(子节点)); node.appendChild(text); root.appendChild(node); // 写入xml头部格式 QTextStream stream(xmlFile); stream.setCodec(UTF-8); // 设置输出编码为 UTF-8 document.save(stream, 4); // 这里的4代表首行缩进4个字节 // 添加完成后关闭文件 xmlFile.close(); qDebug() XML文件创建成功; } else { qDebug() 文件打开失败; } } return 0; }