Tinyxml2开源库的学习

本文详细介绍了Tinyxml2开源库,讲解了XML的基本用途,如数据存储、共享和Web开发中的应用。同时,深入探讨了Tinyxml2库中的核心类XMLNode、XMLElement、XMLComment、XMLDeclaration和XMLText的功能及成员方法,包括节点复制、删除、查找和属性操作等,帮助读者理解和使用Tinyxml2解析、操作XML文档。
摘要由CSDN通过智能技术生成

文章对下面博主的博客进行了学习,做了记录
这是博主博客的网址

Tinyxml2理解

XML文件本质就是小型的数据库,对数据库有什么操作就会对XML文件能实现什么样的操作

在学习JAVA做项目的时候,基本用到的都是MYSQL的数据库,我们对数据库无非进行了下面的操作:
新建数据库,删除数据库
对某个数据库增加表,删除表
对表添加属性,删除属性,添加属性值,删除属性值

那么对应XML文件就是新建XML文件,删除XML文件
增加XML节点,删除XML文件指定节点
查询XML文件指定节点的值,修改XML文件节点的值

XML用途:XML应用于Web开发的许多方面,常用于简化数据的存储和共享

XML简化数据共享:XML数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法,让创建不同应用程序可以共享的数据变得更加容易

XML简化数据传输:通过XML,可以在不兼容的系统之间轻松地交换数据

XML简化平台的变更:XML数据以文本格式存储,这使得XML在不损失数据的情况下,更容易扩展或升级到新的操作系统

XML使得数据更加有用:不同的应用程序都能够访问数据,不仅仅在HTML中,也可以从XML数据源中进行访问,通过XML,你的数据可以提供给各种阅读设备使用

XML用于创建新的Internet语言:很多新的Internet语言都是通过XML创建的

XML数据结构:形成树结构,从根部开始,然后扩展到枝叶

XML文档必须包含根元素,该元素是其他元素的父元素。XML文档中的元素属形成了一颗文档树。这棵树从根部开始,并扩展到树的低端

XML语法 XML语法规则简单,很有逻辑

所有XML元素都必须有关闭标签。在XML中,省略关闭标签是非法的,所有的元素都必须有关闭标签。在HTML中,经常看到没有关闭的标签元素

XML声明没有关闭标签这不是错误,声明不属于XML本身的组成部分。它不是XML元素,也不需要关闭标签。

XML标签对大小写敏感。XML元素使用XML标签进行定义。必须使用相同大小写来编写打开标签和关闭标签。打开标签和关闭标签通常被称为开始标签和结束标签。

XML必须正确的嵌套。在HTML中,经常看到没有正确嵌套的元素。在XML中,所有元素都必须彼此正确地嵌套。

XML文档必须有根元素。XML文档必须有一个元素是其他元素的父元素,该元素称为根元素

XML的属性须加引号

XML的节点,元素,属性值的关系

XMLNode:几乎XML所有元素的基类,XML本质是一种树形结构,整个XML就是由许多节点组成的(比如可以具象为:XML文件就是一个数据库,而XML的节点就是一个数据表,数据库中肯定是由多个数据表组成的,而数据表中又会有很多属性和属性值)

XMLElement: 在XMLNode中最重要的一个类,存储方式有和两种形式,它包含了一个XMLAttribute的根指针,这个root指针指向XMLAttribute的第一个属性键值对

XMLAttribute: 是解析XML的属性的类,XML中的属性都与XML的 Element绑定,并且为key——value类型

XMLComment: 主要是处理XML注释的类,注释的存储形式为“”

**XMLDeclaration:**主要处理XML中声明的类,声明的存储形式为<? declaration?>

**XMLDocument:**代表XML整个实体,TinyXML2中只有XMLDocument类可以被实例化,其他的类必须通过XMLDocument提供的new方法进行实例化,而不能直接实例化。
XMLNode的其他实体类把构造函数定义为protected,不能被外部实例化,这样保证使用XMLDocumnet进行内存的管理,避免产生内存泄露的风险

**XMLText:**主要是处理XML文本的类,文本的信息又分为CDATA和普通文本 ,CDATA 是有专属的 开始字符"<![CDATA[“,而普通的文本存储形式如”>text<"

XMLUnknown: 存储形式为"<! unknown>"

XMLVisitor: 访问者模式的基类,它主要定义了访问者的接口,而在XMLNode的子类的accept方法中调用这些方法来完成对自身的访问

**XMLPrinter:**是 XMLVisitor类的子类,主要实现的写XML的功能,其提供了两种书写的方式,一种是构建XMLDocument,二是直接push字段
在这里插入图片描述
在这里插入图片描述

XMLNode是一个抽象类

一个Document能够包括:Element,Comment,Unknown,Declaration
一个Element 能够包括:Element,Text,Common,Unknown,Attributes

<?xml version="1.0" encoding="UTF-8" standa
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值