基于Qt的xml简单的读写笔记
2014-12-08 20:54
351 查看
以下是测试的xml:
读写xml的代码:
测试:
<config> <path>XXXXXXXXXXX</path> <path1>XXXXXXXXXXX1</path1> </config>
读写xml的代码:
#include "xmlutil.h" XmlUtil::XmlUtil() { } void XmlUtil::writeXml(QString& path,QMap<QString,QString>& map){ QFile file(path); if(not file.open(QIODevice::ReadWrite)) return; QDomDocument doc; QDomElement rootEle = doc.createElement("config"); doc.appendChild(rootEle); QMap<QString, QString>::const_iterator ite; for( ite=map.constBegin(); ite!=map.constEnd(); ite++){ cout << ite.key().toStdString() <<" " << ite.value().toStdString(); QDomElement pathEle = doc.createElement(ite.key()); pathEle.appendChild(doc.createTextNode(ite.value())); rootEle.appendChild(pathEle); } QTextStream out(&file); doc.save(out,QIODevice::ReadWrite); file.close(); } QMap<QString,QString>* XmlUtil::readXml(QString& path){ QMap<QString,QString>* map=new QMap<QString,QString>(); QFile file(path); if(!file.open(QIODevice::ReadOnly)){ return NULL; } QDomDocument doc; doc.setContent(&file); QDomElement rootEle = doc.documentElement(); //把全部二级item存放在list中 QDomNodeList secondItemlist = rootEle.childNodes(); for(int i = 0;i < secondItemlist.count();i++) { QDomNode node = secondItemlist.at(i); // cout<<endl<<node.toElement().nodeName().toStdString()<<"000000000000"<<node.toElement().text().toStdString()<<"++++++++++++++++"<<endl; map->insert(node.toElement().nodeName(),node.toElement().text()); }//end for file.close(); return map; }
测试:
QMap<QString,QString> map; map.insert("path","XXXXXXXXXXX"); map.insert("path1","XXXXXXXXXXX1"); XmlUtil xml; QString path=QString::fromStdString("config.xml"); xml.writeXml(path,map); QMap<QString,QString>* ret=xml.readXml(path); QMap<QString, QString>::const_iterator ite; for( ite=ret->constBegin(); ite!=ret->constEnd(); ite++){ cout << ite.key().toStdString() <<" " << ite.value().toStdString(); }
相关文章推荐
- 基于boost简单读写xml文件笔记
- 基于XML的留言本[主要是看怎么读写XML]
- XML文档的简单读写
- XStream -- 非常简单实用的XML读写工具(一)
- Qt学习之XML读写操作小结
- qt 读写 xml 时,链接错误
- DOM进行XML读写的简单例子
- 基于DOM的XML文档读写
- avascript读写xml数据的最简单例子
- 简单的XML文件读写 (转)
- 嵌入式数据库--SQLite简单应用(三)--基于Qt3+SQLite3的通信录
- 基于RMI+XML的简单JDBC代理
- 基于XML的简单用户管理
- 基于XML简单新闻发布系统
- Apache CXF 学习笔记二,创建第一个基于JAX-WS的简单Sample
- 基于XML的留言本[主要是看怎么读写XML]
- C#第一次写的XML文件简单读写功能
- 简单的xml读写
- qt DOM xml 读写
- Qt学习之XML读写操作小结