根据QtCreator的文档提示,需要在.pro文件中加入xml
在.h头文件中加入#include<QtXml>
右键项目qmake,不做这一步则在.pro中的配置无效
解析代码和xml文件如下
QString xml_path = ""; //“xml”文件的路径
QFile file(xml_path);
QDomDocument doc;
QDomElement root = doc.documentElement(); //返回根节点
QDomNodeList list = root.childNodes(); //获取根节点下的所有一级节点
for (int i = 0; i < list.count(); i++)
{
ColorNo = list.at(i).firstChildElement("ColorNo").text().toInt();
R = list.at(i).firstChildElement("ColorValue").firstChildElement("R").text().toInt();
G = list.at(i).firstChildElement("ColorValue").firstChildElement("G").text().toInt();
B = list.at(i).firstChildElement("ColorValue").firstChildElement("B").text().toInt();
qDebug()<<ColorNo<<" "<<R<<" "<<G<<" "<<B; //打印结果
}
xml文件
<?xml version="1.0" encoding="utf-8"?>
<ColorLib xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:MAPGIS_VERSION="MAPGIS 10">
<ColorItem>
<ColorNo>1</ColorNo>
<ColorValue>
<R>0</R>
<G>0</G>
<B>0</B>
</ColorValue>
</ColorItem>
<ColorItem>
<ColorNo>2</ColorNo>
<ColorValue>
<R>0</R>
<G>255</G>
<B>255</B>
</ColorValue>
</ColorItem>
<ColorItem>
<ColorNo>3</ColorNo>
<ColorValue>
<R>255</R>
<G>0</G>
<B>255</B>
</ColorValue>
</ColorItem>
<ColorItem>
<ColorNo>4</ColorNo>
<ColorValue>
<R>255</R>
<G>255</G>
<B>0</B>
</ColorValue>
</ColorItem>
<ColorItem>
<ColorNo>5</ColorNo>
<ColorValue>
<R>0</R>
<G>0</G>
<B>255</B>
</ColorValue>
</ColorItem>
</ColorLib>