QT之XML文件解析DOM

本文介绍了使用Qt的DOM方式解析XML文件的方法,包括XML文件的创建、读取、修改和删除操作,以及如何利用Qt类库进行节点的创建、查找、遍历等。

Qt之XML文件解析(DOM)

XML简介

​ 和HTML的语法很相似,但不同之处在于: HTML 被设计用来显示数据,其关注的是数据的外观,XML 被设计用来传输和存储数据,其关注的是数据的内容,因此,XML主要用来作为数据的存储和共享。

​ XML文档是一种树的结构,从根部扩展到枝叶。以下是一个XML示例

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<!--写入矩形图元的信息-->
	<class name="Rect">
		<object name="obj1">
			<x1>10</x1>
			<y1>10</y1>
			<x2>50</x2>
			<y1>50</y1>
			<linewidth>2</linewidth>
			<scale>0</scale>
			<rotate>0</rotate>
		</object>
	</class>
</root>

其中第一行 是XML 声明。它定义 XML 的版本和所使用的编码格式,<root> </root>为根节点的起始(在XML中可以自定义节点名称),<class> </class>为子元素,其中name为其属性,值为Rect;每一个子元素都可以拥有子元素,故class的子元素为object,依次类推; 所有的元素都可以有文本内容和属性,如x1的文本为10,x2的文本为50。

DOM类介绍

Classes 说明
QDomAttr 表示 QDomElement 的一个属性
QDomCDATASection 表示 XML CDATA 部分
QDomCharacterData 表示 DOM 中的通用字符串
QDomComment 表示 XML 注释
QDomDocument 表示一个 XML 文档
QDomDocumentFragment QDomNodes 树,不是完整的QDomDocument
QDomDocumentType DTD 在文档树中的表示
QDomElement 表示 DOM 树中的一个元素
QDomEntity 表示一个 XML 实体
QDomEntityReference 表示 XML 实体引用
QDomImplementation 有关 DOM 实现的功能的信息
QDomNamedNodeMap 包含可以按名称访问的节点集合
QDomNode DOM 树中所有节点的基类
QDomNodeList QDomNode 对象列表
QDomNotation 表示 XML 表示法
QDomProcessingInstruction 表示 XML 处理指令
QDomText 表示解析的 XML 文档中的文本数据

其相关继承关系如下:

在这里插入图片描述

一个XML文档如果只做保存数据使用,那么以下XML的构成就足够使用了

在这里插入图片描述

节点类型

在QDomNode中,对XML中各种参数的区分是通过NodeType枚举实现的

enum NodeType {
   
   
    ElementNode               = 1,
    Attribu
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值