Qt读写xml文件
Posted 程序员成长日志
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt读写xml文件相关的知识,希望对你有一定的参考价值。
写xml
<root>
<element>
<sub id=-1></sub>
</element>
</root>
//添加xml说明
QDomDocument doc;
QDomProcessingInstruction instru;
instru = doc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instru);
//添加根节点
QDomElement root = doc.createElement("root");
doc.appendChild(root);
root.setAttribute("ver", "1.0.0");
//添加元素
QDomElement elementNode= doc.createElement(" element");
QDomElement subNode= doc.createElement("sub");
subNode.setAttribute("id", "-1");
elementNode.appendChild(subNode);
root.appendChild(elementNode);
//写文件
QFile file(fileName);
file.open(QIODevice::WriteOnly | QIODevice::Truncate);
QTextStream out(&file);
doc.save(out, 4);
file.close();
}
读xml
QDomDocument doc;
//读取xml文件到QDomDocument 对象中
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly)) return false;
if (!doc.setContent(&file)){
file.close();
return false;
}
file.close();
//找到对应节点
QDomElement rootEle = doc.documentElement();
if ("root" != rootEle.nodeName()) return false;
if ("1.0.0" != rootEle.attribute("ver")) return false;
QDomNodeList subList= doc.elementsByTagName("sub");
for (int index = 0; index != subList.size(); ++index){
QDomNode node = subList.at(index);
if (!node.isElement()) continue;
QDomElement subEle= node.toElement();
QString id= subEle.attribute("id");
}
以上是关于Qt读写xml文件的主要内容,如果未能解决你的问题,请参考以下文章
Qt Write and Read XML File 读写XML文件
Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件