QT5自学教程(71)——Reading xml

编程之家收集整理的这篇文章主要介绍了QT5自学教程(71)——Reading xml编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

QT5自学教程(71)——Reading xml       在上一节我们介绍了将xml内容写入到文件中,这一节我们将介绍从xml文件中读取xml内容并将其显示在控制台界面之上。 [1]  新建一个Qt Console Application项目 [2]  在项目中添加必要程序 main.cpp程序 //2014/9/16 wayne HDU //问题描述:读取xml文件中内容并将其显示在控制台界

QT5自学教程71)——Reading xml@H_404_12@

在上一节我们介绍了将xml内容写入到文件中,这一节我们介绍从xml文件中读取xml内容并将其显示在控制台界面之上。

[1]新建一个Qt Console Application项目

[2]在项目中添加必要程序

main.cpp程序

//2014/9/16 wayne HDU
//问题描述:读取xml文件内容并将其显示在控制台界面之上
#include <QCoreApplication>
#include <QDomdocument>
#include <QDeBUG>
#include <Qfile>
//声明函数
voID ListElement(QDomElement root,QString tagname,QString attribute);
int main(int argc,char *argv[])
{
    QCoreApplication a(argc,argv);

    QDomdocument doc;

    //打开文件用于读取xml
    Qfile file("F:/test.xml");
    if(!file.open(qiodevice::Readonly | qiodevice::Text))
    {
        qDeBUG() << "Failed to open files";
        return -1;
    }
    else
    {
        if(!doc.setContent(&file))
        {
            qDeBUG() << "Failed to load document";
            return -1;
        }
        file.close();
    }
    //获得根元素
    QDomElement root = doc.firstChildElement();

    //读取指定节点下的元素
    ListElement(root,"Book","name");

    qDeBUG() << "\r\nMore Advanced \r\n";
    //输出更多的信息
    //QDomNodeList类是包含QDomNode对象的列表
    //elementsByTagname(const QString& tagname) 返回一个QDomNodeList,其中包含文档中所有包含名字tagname的元素
    QDomNodeList books = root.elementsByTagname("Book");
    //输出所有QDomNodeList对象中的元素
    for(int i = 0; i < books.count(); ++i)
    {
        QDomNode bookNode = books.at(i);
        //判断对象是否是元素,若是则转换成元素对象并输出内容
        if(bookNode.isElement())
        {
            QDomElement book = bookNode.toElement();
            qDeBUG() << "Chapter in " << book.attribute("name");
            ListElement(book,"Chapter","name");
        }
    }

    qDeBUG() << "Finished";
    return a.exec();
}
//定义读取函数
voID ListElement(QDomElement root,QString attribute)
{
    QDomNodeList items = root.elementsByTagname(tagname);
    qDeBUG() << "Total items = " << items.count();
    for(int i = 0; i < items.count(); ++i)
    {
        QDomNode itemNode = items.at(i);
        if(itemNode.isElement())
        {
            QDomElement itemElem = itemNode.toElement();
            qDeBUG() << itemElem.attribute(attribute);

        }
    }
}

[3]输出结果


小结@H_404_12@

在这一节介绍了如何从一个xml文件中读取xml。PS:实验室的铁皮柜终于在业余人士(使用螺丝刀向反方向旋转锁芯)已经专业人士(大型工具直接处理)之下打开了,然后还换上了新的锁。但愿老板不知道铁皮柜发生了什么事情o(╯□╰)o。。。

2014/9/16

Wayne HDU

总结

以上是编程之家为你收集整理的QT5自学教程(71)——Reading xml全部内容,希望文章能够帮你解决QT5自学教程(71)——Reading xml所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

XML文章

mybatis底层执行原理(源码解析)
CentOS8安装docker时候报错,错误:为仓库'base'下载元数据失败Cannnot download repomd.xml:Cannot download repodata/repomd.xml: All mirrors were tried且后续无法安装docker-ce错误提示解决方案安装docker启动docker错误提示在虚拟机CentOS8上安装docker时候报错在执行命令时候报错:yum install -y yum-utils错误:为仓库’base’下载元数据失败Ca
Android开发环境配置文档一、JDK安装JDK安装1.1 JDK 选择安装目录安装过程中会出现两次安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)。如图1- 1所示。1.2 安装JDK和JRE1:安装jdk随意选择目录,只需把默认安装目录java 之前的目录修改即可。2:安装jre更改java之前目录和安装 jdk 目录相同即可。注:
Mycat实现单库分表,实现按月分表,实现时间戳按月分表
python操作XML格式文件可扩展标记语言,是一种简单的数据存储语言,XML被设计用来传输和存储数据存储,可用来存放配置文件,例:java配置文件传输,网络传输以这种格式存在,例:早期ajax传输数据等&lt;data&gt; &lt;country name="Liechtenstein"&gt; &lt;rank updated="yes"&gt;2&lt;/rank&gt; &lt;year&gt;2023&lt;/year&gt;
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注