Qt的xml解析主要运用QXmlStreamReader和QXmlStreamWriter,下面结合本人业务逻辑给出示例,适合新手大神绕道:
1.xml的构建以及压缩
本人需要压缩xml文件,所以一起展示。outFile为要压缩文件
void DataIoPanel::xmlFileCompress(QuaZipFile &outFile) {
//最终xml文件写到QByteArray里面
QByteArray ba;
QXmlStreamWriter writer(&ba);
writer.setCodec("UTF-8");
writer.writeStartDocument();//编写通用第一行<!--xml-->
writer.writeStartElement("FacelogInfo");
//查询facelog构建xml
QString facelogsql = "SELECT * FROM facelog";
QSqlQuery faceQuery(db);
faceQuery.exec(facelogsql);
while (faceQuery.next())
{
//构建一个facelog节点
writer.writeStartElement("facelog");
writer.writeTextElement("sfz",faceQuery.value("sfz").toString());
writer.writeTextElement("xingming",faceQuery