Qt中xml元素的遍历

前端之家收集整理的这篇文章主要介绍了Qt中xml元素的遍历前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. #include <QtCore/QCoreApplication>
  2. #include <QDomDocument>
  3. #include <QFile>
  4. #include <QDebug>
  5.  
  6. int main(int argc,char *argv[])
  7. {
  8. QCoreApplication a(argc,argv);
  9. QDomDocument doc;
  10. QFile file("H:\\Soft\\QQ\\AuI18N\\2052\\StringBundle.xml");
  11. QString errorStr;
  12. int errorLine;
  13. int errorCol;
  14.  
  15. if (!file.open(QIODevice::ReadOnly))
  16. return 0;
  17.  
  18. if(!doc.setContent(&file,true,&errorStr,&errorLine,&errorCol))
  19. {
  20. file.close();
  21. qDebug()<<"errorStr:"<<errorStr<<"\n";
  22. qDebug()<<"errorLine:"<<errorLine<<
  23. " errorCol:"<<errorCol;
  24. return 0;
  25. }
  26.  
  27. file.close();
  28.  
  29. QDomElement root = doc.documentElement();
  30. QDomElement ele = root.firstChildElement();
  31.  
  32. int i = 1;
  33. for(;!ele.isNull();ele = ele.nextSiblingElement()){
  34. if(ele.hasAttribute("id"))
  35. {
  36. qDebug()<<i<<": "<<ele.attributeNode("id").value();
  37. i++;
  38. }
  39. }
  40. return a.exec();
  41. }

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

xml文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <StringBundle version="1.0">
  3. <String id="IDS_ACT_STARTING_DOWNLOAD_MODULE_UPDATE_PACK">
  4. 开始下载模块升级
  5. </String>
  6. <String id="IDS_PPModuleSelect_SelectPkg">
  7. 请选择要安装的更新
  8. </String>
  9. <String id="IDS_ERR_QUERYING_MODULE_UPDATE_LIST">
  10. 网络错误查询可用更新失败。
  11. </String>
  12. <String id="IDS_PPModuleSelect_Title">
  13. 更新内容
  14. </String>
  15. <String id="IDS_PPModuleSelect_Detail">
  16. 详细信息:
  17. </String>
  18. <String id="IDS_PPModuleSelect_DownloadSize">
  19. 下载大小:
  20. </String>
  21. <String id="IDS_ERR_UNZIPPING_UPDATE_PACK">
  22. 升级错误升级失败。下次升级自动尝试修复此问题,如此错误反复出现,请联系客服。
  23. </String>
  24. <String id="IDS_ERR_UPDATE_PACK_DAMAGED">
  25. 升级包损坏,升级失败。下次升级自动尝试修复此问题,如此错误反复出现,请联系客服。
  26. </String>
  27. <String id="IDS_PPModuleSelect_DownloadTime">
  28. 估计耗时:
  29. </String>
  30. <String id="IDS_PPModeSelect_Welcome">
  31. 欢迎使用在线升级
  32. </String>
  33. <String id="IDS_ERR_NETWORK_BUSY">
  34. 网络繁忙,请稍后再试……
  35. </String>
  36. <String id="IDS_PPWELCOME_NetPrompt">
  37. 使用internet连接进行在线升级操作
  38. </String>
  39. <String id="IDS_PPWELCOME_BTNNetSetup">
  40. 高级网络设置
  41. </String>
  42. </StringBundle>

猜你在找的XML相关文章