XML学习

XML概述

  • XML(eXtensible Markup Language),是一种可扩展的标记语言,类似HTML(超文本标记语言)。
  • XML技术是W3C组织(World Wide Web
    Consortium万维网联盟)发布的,目前遵循的是W3C组织于2000年发布的XML1.0规范。(XML从第一个版本发布之后,从来没有更新过,也不需要更新,完美)
  • XML是一种通用的数据交换格式(关系型数据库),许多系统的配置文件都使用XML格式,JSP文档也逐步向XML语法格式过渡,许多项目都采用XML作为数据交换格式(WebService),典型代表:WebService就是不同的项目,或者不同的语言交换数据的技术;
  • 在日常应用中会经常看见XML格式的文件,掌握XML是软件开发人员的一项基本技能,Struts1.x(不学,很少用),struts2.x,spring,hibernate,mybatis等任意一个javaee框架中都要用到XML。(必须通过XML去做配置)
  • 综上,XML可以传输数据,也可以存储数据

XML约束

XML约束的作用:规范XML中书写的内容
XML约束的分类:DTD约束、Schema约束

XML文件的解析

JAXP解析XML

获取Document

获取Document对象的代码实现步骤:

  1. 获取解析器工厂对象
  2. 解析器工厂对象创建解析器对象
  3. 解析器解析实体XML文件返回Document对象
    在这里插入图片描述

查询

Element getDocumentElement() 获取根元素
NodeList getElementsByTagName(标签名称) 根据标签名称获取到节点集合
NodeList接口: Node item(下标索引)
Element接口: String getTextContent()
在这里插入图片描述

修改

在XML解析的过程中,若对数据进行了修改操作,那么Java代码实际上只对内存中的这个对象进行了修改操作,要将最后的修改实际保存到文件中,还需要将当前内存中的数据输出保存到实际的XML,这个时候需要使用到Transformer类
Node接口:
void setTextContent(设置的值) 设置节点中的文本内容
TransformerFactory类:
TransformerFactory newInstance() 创建转换器新实例对象
Transformer newTransformer() 创建一个新的转换器
Transformer类:
void transformer(数据源,结果) 将内存中的DOM模型数据,写入实体文件中
DOMSource(内存的文档对象中)
StreamResult(实体文件关联)
在这里插入图片描述

增加

Element接口:
Element createElement(标签名称) 创建一个新的标签
void appendChild(Element对象) 将一个标签添加到另一个标签中
void setAttribute(属性名,属性值) 给标签添加一个属性
String getAttribute(属性名) 根据属性名获取值
在这里插入图片描述
在这里插入图片描述

删除

注意:删除节点的时候,需要使用元素本身的父节点去删除
Node接口:
Node getParentNode() 获取父节点
void removeChild(Element对象) 删除子节点
在这里插入图片描述

DOM4J解析XML

获取Document

Dom4j获取document对象采用的是dom4j的包
SAXReader类:
Document read(File类型) 获取一个Document对象
在这里插入图片描述

查询

Document接口:
Element getRootElement() 获取文档中的根节点
Element接口:
Element element(标签名) 获取单个标签,返回子标签下的第一个
List elements(标签名) 获取多个标签,返回集合对象
String elementText(标签名) 返回标签中的文本数据
在这里插入图片描述

修改

Document接口:
void write(Write类型) 将内存数据关联给一个字符输出流
Element接口:
void setText(设置值) 设定标签中的文本数据
在这里插入图片描述

增加

Element接口:
Element addElement(标签名) 添加一个标签
XMLWriter类:格式友好的输出形式
XMLWriter(Writer writer,OutputFormat format) 构造一个具有良好输出格式的XML输出对象
void write(Node node) 将一个document输出到实体文件中
void close() 关闭输出
OutputFormat类:输出格式类
OutputFormat createPrettyPrint() 构造一个良好的格式对象

格式不友好
在这里插入图片描述
格式友好
在这里插入图片描述Element接口:
Element addAttribute(属性名,属性值) 添加一个属性
String attributeValue(属性名) 获取属性值
在这里插入图片描述

删除

Element接口:
Element getParent() 获取父标签
Boolean remove(Element对象) 删除指定标签
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学习在Qt中处理XML文件可以按照以下步骤进行: 1. 了解XML基础知识:学习XML的基本概念、语法和结构,了解XML的用途和优势。掌握XML的标签、元素、属性和命名空间等基本概念。 2. 学习Qt中的XML模块:Qt提供了Qt XML模块,用于处理XML文件。学习Qt XML模块的相关类和函数,包括QDomDocument、QDomElement、QDomNode等。 3. 解析XML文件:学习使用Qt XML模块解析XML文件。可以使用QDomDocument类来读取和解析XML文件,获取XML文档的根节点,并通过遍历节点和获取节点属性等方式来访问XML文件中的数据。 4. 创建和编辑XML文件:学习使用Qt XML模块创建和编辑XML文件。可以使用QDomDocument类创建一个新的XML文档,并使用QDomElement和QDomNode等类来创建元素、属性和子节点,然后将其保存为XML文件。 5. 数据操作学习如何在Qt中处理XML文件中的数据。可以使用Qt提供的API来读取、修改和删除XML文件中的数据,包括添加子节点、修改属性值、删除节点等操作。 6. 错误处理:学习如何处理XML文件解析过程中可能出现的错误。Qt提供了错误处理机制,可以捕获和处理解析XML文件时可能出现的错误,如XML语法错误、节点不存在等。 7. 实践项目:通过实践项目来巩固所学知识。可以尝试编写一个简单的程序,使用Qt XML模块读取和解析XML文件,并对文件中的数据进行操作和展示。 此外,Qt官方文档中提供了详细的XML模块的使用说明和示例代码,可以参考官方文档来学习和理解更多关于在Qt中处理XML文件的知识。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值