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. ubuntu 14.04安装quickbuild server (一)

    官网: http://www.pmease.com/ 指导网站: http://wiki.pmease.com/display/QB60/ 1.  安装quickbuild server ------ ...

  2. 1.1机器学习基础-python深度机器学习

    参考彭亮老师的视频教程:转载请注明出处及彭亮老师原创 视频教程: http://pan.baidu.com/s/1kVNe5EJ 1. 课程介绍 2. 机器学习 (Machine Learning, ...

  3. Python 手册——调用解释器

    通常Python的解释器被安装在目标机器的 /usr/local/bin/python 目录下:把 /usr/local/bin 目录放进你的UNIX Shell 的搜索路径里,确保它可以通过输入py ...

  4. JS面向对象思想(OOP)

    直接看js好了,模拟创建一个奥运会 function 奥运会Class(主题) { // 删除主题 // delete this.主题; this.主题 = 主题; this.开幕时间; this.闭 ...

  5. constant属性详解

    /**是否使用开发模式,不在开发模式下变为false*/ (常用) <constant name = "struts.devmode" value = "true& ...

  6. Android开源项目发现--- 工具类文件处理篇(持续更新)

    1.ZIP java压缩和解压库 项目地址:https://github.com/zeroturnaround/zt-zip 文档介绍:https://github.com/zeroturnaroun ...

  7. group by 替代distinct

    SQL> select distinct employee_id,first_name from test1; 107 rows selected. Execution Plan ------- ...

  8. GPL,LGPL和BSD等协议注意事项

    使用开源软件必须注意GPL,LGPL和BSD等协议 简而言之,GPL协议就是一个开放源代码协议,软件的初始开发者使用了GPL协议并公开软件的源程序后,后续使用该软件源程序开发软件者亦应当根据GPL协议 ...

  9. smtp服务器搭建(实现本地通讯)

    1安装postfix 1)下载安装包    sudo apt-get install postfix 2)配置服务器 选择确定. 选择IneternetSite(通过SMTP发送和接收邮件),然后确定 ...

  10. 《University Calculus》-chape3-微分法-基本概念、定理

    所谓微分法其实就是我们所熟悉的导数,它是一种无限分割的方法,同积分法一样,它们是处理曲线和曲面的有利工具,也是一门很伟大的自然语言.微分方程就是一种名副其实的描述自然的语言. 同样这里如果取单侧导数, ...