加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Qt中xml元素的遍历

发布时间:2020-12-15 23:27:05 所属栏目:百科 来源:网络整理
导读:#include QtCore/QCoreApplication#include QDomDocument#include QFile#include QDebugint main(int argc,char *argv[]){ QCoreApplication a(argc,argv); QDomDocument doc; QFile file("H:SoftQQAuI18N2052StringBundle.xml"); QString errorSt
#include <QtCore/QCoreApplication>
#include <QDomDocument>
#include <QFile>
#include <QDebug>

int main(int argc,char *argv[])
{
    QCoreApplication a(argc,argv);
    
    QDomDocument doc;
    QFile file("H:SoftQQAuI18N2052StringBundle.xml");
    QString errorStr;
    int errorLine;
    int errorCol;

    if (!file.open(QIODevice::ReadOnly))
        return 0;

    if(!doc.setContent(&file,true,&errorStr,&errorLine,&errorCol))
    {
        file.close();
        qDebug()<<"errorStr:"<<errorStr<<"n";
        qDebug()<<"errorLine:"<<errorLine<<
                "  errorCol:"<<errorCol;
        return 0;
    }

    file.close();

    QDomElement root = doc.documentElement();
    QDomElement ele = root.firstChildElement();

    int i = 1;
    for(;!ele.isNull();ele = ele.nextSiblingElement()){
        if(ele.hasAttribute("id"))
        {
            qDebug()<<i<<": "<<ele.attributeNode("id").value();
            i++;
        }
    }
    return a.exec();
}

在Qt中用QDomDucument 遍历xml文件中的String元素的“id”属性。

xml文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<StringBundle version="1.0">
	<String id="IDS_ACT_STARTING_DOWNLOAD_MODULE_UPDATE_PACK">
		开始下载模块升级包
	</String>
	<String id="IDS_PPModuleSelect_SelectPkg">
		请选择要安装的更新
	</String>
	<String id="IDS_ERR_QUERYING_MODULE_UPDATE_LIST">
		网络错误,查询可用更新失败。
	</String>
	<String id="IDS_PPModuleSelect_Title">
		更新内容:
	</String>
	<String id="IDS_PPModuleSelect_Detail">
		详细信息:
	</String>
	<String id="IDS_PPModuleSelect_DownloadSize">
		下载大小:
	</String>
	<String id="IDS_ERR_UNZIPPING_UPDATE_PACK">
		升级包错误,升级失败。下次升级会自动尝试修复此问题,如此错误反复出现,请联系客服。
	</String>
	<String id="IDS_ERR_UPDATE_PACK_DAMAGED">
		升级包损坏,升级失败。下次升级会自动尝试修复此问题,如此错误反复出现,请联系客服。
	</String>
	<String id="IDS_PPModuleSelect_DownloadTime">
		估计耗时:
	</String>
	<String id="IDS_PPModeSelect_Welcome">
		欢迎使用在线升级。
	</String>
	<String id="IDS_ERR_NETWORK_BUSY">
		网络繁忙,请稍后再试……
	</String>
	<String id="IDS_PPWELCOME_NetPrompt">
		使用internet连接进行在线升级操作
	</String>
	<String id="IDS_PPWELCOME_BTNNetSetup">
		高级网络设置
	</String>
</StringBundle>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读