- #include <QtCore/QCoreApplication>
- #include <QDomDocument>
- #include <QFile>
- #include <QDebug>
- int main(int argc,char *argv[])
- {
- QCoreApplication a(argc,argv);
- QDomDocument doc;
- QFile file("H:\\Soft\\QQ\\AuI18N\\2052\\StringBundle.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>