QT读取xml有2个方法

对于xml数据比较大的就要用QXmlStreamReader

对于数据比较小的就用QDomDocument,这个比较方便

我这里就是以QDomDocument为主要内容,讲解如何读取

index.xml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ndex>
  3. <item>
  4. <id>1234567</id>
  5. <title>wangwang</title>
  6. <text>wuying</text>
  7. </item>
  8. <item>
  9. <id>1234567</id>
  10. <title>wangwang</title>
  11. <text>wuying</text>
  12. </item>
  13. <item>
  14. <id>1234567</id>
  15. <title>wangwang</title>
  16. <text>wuying</text>
  17. </item>
  18. </ndex>

main.cpp

    1. #include <QtCore/QCoreApplication>
    2. #include "QFile"
    3. #include "QTextCodec"
    4. #include "QDomDocument"
    5. int main(int argc, char *argv[])
    6. {
    7. QTextCodec *codec = QTextCodec::codecForName("utf-8");
    8. QTextCodec::setCodecForLocale(codec);
    9. QTextCodec::setCodecForCStrings(codec);
    10. QTextCodec::setCodecForTr(codec);
    11. QCoreApplication a(argc, argv);
    12. QDomDocument doc;
    13. QFile xmlfile("index.xml"); //filepath为xml文件路径
    14. if (!xmlfile.open(QIODevice::ReadOnly))
    15. {
    16. return false;
    17. }
    18. if (!doc.setContent(&xmlfile))
    19. {
    20. xmlfile.close();
    21. return false;
    22. }
    23. QDomElement root = doc.documentElement();
    24. QDomNode node=root.firstChild().firstChild().nextSibling();
    25. qDebug(node.toElement().text().toAscii());
    26. qDebug(node.nodeName().toAscii());
    27. return a.exec();
    28. }

QtXML 举例的更多相关文章

  1. Ajax 概念 分析 举例

    Ajax是结合了访问数据库,数据访问,Jquery 可以做页面局部刷新或者说是页面不刷新,我可以让页面不刷新,仅仅是数据的刷新,没有频繁的刷页面,是现在比较常用的一种方式做页面那么它是怎么实现页面无刷 ...

  2. ValueInjecter----最好用的OOM(以微信消息转对象举例)

    使用数据实体的好处我这里就不多说了,但大家享受这些好处的时候,难免也对那些琐碎的赋值代码感到厌烦,基于此,我认为掌握一个oom的使用,还是很有必要的. 这种类型的工具有很多,比如automapper, ...

  3. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  4. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  5. shell-script的简单举例

    #!/bin/bash #defind the path PATH=/usr/local export PATH read -p "please input your first name: ...

  6. 各大浏览器内核特性及对应的Browserhacks举例

    1.浏览器内核指的是什么? 简化的浏览器=用户界面+渲染引擎+js解析引擎+数据存储+网络部件 而通常所说的浏览器内核指的是页面渲染引擎(rendering engine). 2.渲染引擎 The r ...

  7. js调用php和php调用js的方法举例

    js调用php和php调用js的方法举例1 JS方式调用PHP文件并取得php中的值 举一个简单的例子来说明: 如在页面a.html中用下面这句调用: <script type="te ...

  8. c++局部变量经典举例

    局部变量: 在函数内部声明的变量为局部变量,局部变量的意思即该变量只存活在该函数中,假如该函数调用结束,那么该变量的寿命也结束了. 举例: #include<iostream> using ...

  9. HTTPS Web配置举例

    http://www.h3c.com.cn/Products___Technology/Technology/Security_Encrypt/Other_technology/Representat ...

随机推荐

  1. 学习总结之Log4NET

    通过在网上查找了一些资料,用了些时间学习了log4NET,做了一个小小的总结,说一下它的特点吧 首先呢log4NET是.Net下一个非常优秀的开源日志记录组件.它可以将日志分成不同等级,也可以按照我们 ...

  2. apache301重定向设置

    <VirtualHost ip地址>   #DocumentRoot /文件夹/  ServerName XXXX.com  RewriteEngine on  RewriteRule ^ ...

  3. Label设置行间距--b

    内容摘要 UILabel显示多行文本 UILabel设置行间距 解决单行文本 & 多行文本显示的问题 场景描述 众所周知,UILabel显示多行的话,默认行间距为0,但实际开发中,如果显示多行 ...

  4. iOS 通知中心扩展制作初步-b

    涉及的 Session 有 Creating Extensions for iOS and OS X, Part 1 Creating Extensions for iOS and OS X, Par ...

  5. 关于android app两次点击返回键退出的处理

    现在的android app在开发时,引入了两次点击返回键退出app的设计 为了避免用户误触,这个设计很人性化 中文网上社区有些同学贴了一些实现的例子,我觉得不是很好 代码如下 public bool ...

  6. Android 开发环境搭建9传送帖)

    ---恢复内容开始--- 首先,得安装软件,感觉我所找到的一些课本上写的都比较简略,走过一些弯路后,决定按照这个百度经验来 Android安卓开发环境搭建详细教程 http://jingyan.bai ...

  7. HTTP-304 NOT Modified

    http://www.douban.com/note/161120791/ http://blog.sina.com.cn/s/blog_4c98b9600100jd4z.html http://ww ...

  8. Python3.x和Python2.x的区别-转

    这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...

  9. bzoj3083 3306

    又见bzoj的语言歧视,囧……bzoj3083过了本地的数据在上面出现各种奇葩的TLE835083 phile 3083 Time_Limit_Exceed 17092 kb 4872 ms Pasc ...

  10. Delphi WebService 需要注意 转

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://gang4415.blog.51cto.com/225775/251997 Web ...