示例

不用考虑XML的编码格式。

针对每一层标签分析,产生树形结构,按照标签结构分析。

#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDomElement>
#include <QDebug>void ReadXml()
{//打开或创建文件QFile file("D:/JBXML/teachers.xml"); //相对路径、绝对路径、资源路径都行if (!file.open(QFile::ReadOnly))return;QDomDocument doc;if (!doc.setContent(&file)){file.close();return;}file.close();QDomElement root = doc.documentElement(); //返回根节点qDebug() << root.nodeName();QDomNode node = root.firstChild(); //获得第一个子节点while (!node.isNull())  //如果节点不空{if (node.isElement()) //如果节点是元素{QDomElement e = node.toElement(); //转换为元素,注意元素和节点是两个数据结构,其实差不多qDebug() << e.tagName() << " " << e.attribute("id") << " " << e.attribute("time"); //打印键值对,tagName和nodeName是一个东西QDomNodeList list = e.childNodes();for (int i = 0; i < list.count(); i++) //遍历子元素,count和size都可以用,可用于标签数计数{QDomNode n = list.at(i);if (node.isElement())qDebug() << n.nodeName() << ":" << n.toElement().text();}}node = node.nextSibling(); //下一个兄弟节点,nextSiblingElement()是下一个兄弟元素,都差不多}}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);ReadXml();return a.exec();
}


难以理解,把QDomElement当做QDomNode就可以了。

在分析的时候,这两个代表相同的东西,

从算法角度说,Node是树形结构的解析;

从XML和HTML等角度说,这是一个标签tag;

可以忽略XML文件的encoding格式,不管是utf-8还是GBK,都可以当做节点,进行解析。

QDomNode读取xml相关推荐

  1. Qt 读取XML文档的简单示例

    目录名字 XML简介 Qt 操作XML文档一般方法 使用DOM读取XML文档 示例代码:读取XML文档 XML简介 XML(Extensible Markup Language,可扩展标记语言)是一种 ...

  2. 【Qt】DOM读取XML文档

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. XML文档示例 04. DOM读取XML文档内容 05. 预留 06. 附录 01. 概述 DOM(Document Ob ...

  3. [Qt教程] 第27篇 XML(一)使用DOM读取XML文档

    [Qt教程] 第27篇 XML(一)使用DOM读取XML文档 楼主  发表于 2013-5-21 21:14:28 | 查看: 1001| 回复: 14 使用DOM读取XML文档 版权声明 该文章原创 ...

  4. 大三软件工程小项目-小技术集合-读取XML文件及运行外部程序

    服务端源码下载地址为: http://download.csdn.net/detail/qq78442761/9768662 关于什么是XML文件,在此不在啰嗦. 不知道的博友请百度补脑. 本程序的x ...

  5. Qt4_用DOM读取XML

    用DOM读取XML DOM 是一种解析由万维网协会(W3C) 所开发的 XML 文档的标准应用程序编程接口. Qt 提供一套用于读取.操作和编写 XML 文挡的非验证型二级 DOM 实现. DOM 把 ...

  6. android读取xml 字符串,Android 读取本地Xml文件,并转换成String

    问题 不是解析本地 xml 文件, 而是要将 xml 文件中的所有内容(包含格式,标签等),直接转换成 String. 与前端H5页面交互时, iOS 在请求远程 xml 文件耗时太长(有时需要4~5 ...

  7. SQL Server中读取XML文件的简单做法

    SQL Server 2000使得以XML导出数据变得更加简单,但在SQL Server 2000中导入XML数据并对其进行处理则有些麻烦.本文介绍在SQL Server中读取XML文件的简单做法. ...

  8. 【OpenCV 4开发详解】保存和读取XML和YMAL文件

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  9. 在asp.net中读取XML文件信息的4种方法

    方法一 :使用XML控件     <% @ Page Language="C#"%>  <html> <body>         <h3 ...

最新文章

  1. 《把时间当作朋友》读书笔记(十四)--积累(二)
  2. pandas把多个列相加求和、输出字母a-z
  3. Salesforce中所有常用类型字段的取值与赋值
  4. 完美国际真数苹果_章子怡玩出新花样,雷人造型别有韵味!和小苹果同框犹如亲姐妹...
  5. 设计模式:模式或反模式,这就是问题
  6. jdk11 后用的指定编码格式,读取文件
  7. JQuery技巧总结【转】
  8. 王道计算机网络 电子版,2021王道.考研复习指导.数据结构.操作系统.计算机组成原理.计算机网络.计算机考研PDF电子版无水印图...
  9. tf2 --- 结构化数据建模流程
  10. 语音合成 g2p 字典设计
  11. spark.reducer.maxReqsInFlight和spark.reducer.maxBlocksInFlightPerAddress
  12. vulnhub靶机_WHO WANTS TO BE KING: 1
  13. 基于 KNN 和 人体关键点的动作分类 - Pose classification
  14. 数据库05子查询,union
  15. 分布式算法(中科大分布式算法课程笔记)
  16. 基于JAVA图书馆座位预约管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  17. html加css加js制作的烟花,js实现烟花特效
  18. 2019-1-29-win10-uwp-使用-Microsoft.Graph-发送邮件
  19. _weak typeof(self) weakSelf = self使用解释
  20. java实验二_Java实验2

热门文章

  1. php5.4连接mysql_PHP5.4+连MySQL数据库
  2. 以xml html编写的的学生管理系统,基于.NET和XML的学生中心数据库管理系统的研究与实现...
  3. java中二叉树_Java工程师面试1000题224-递归非递归实现二叉树前、中、后序遍历...
  4. c#调用c++ dll const char* String类型转换问题。传值,与接收返回值问题
  5. template 的简单使用
  6. 4.Unix工作环境
  7. 【零基础学Java】—Socket类(五十五)
  8. jQuery学习(三)—jQuery使用步骤以及注意事项
  9. 一般用法(IPG写)
  10. 什么是罗技LogitechFlow技术