XML入门三

本文涉及的产品
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: XML入门三

Xml基础03

补充复习:

Xml

可扩展的标记语言

eXtensible Markup Language

以简单文本格式存储数据的方式

Xml**结构**

元素,属性,声明,注释

XML**文档验证**

DTD

Schema :XSD架构

文档对象模型-DOM

XML文件的树状结构

Xml**数据解析**

Dom:XPath

Sax:XmlTextReader, XmlTextWriter

XmlAdo.Net交互

XmlNode**选择节点的方法**

SelectSingleNode(string)

选择匹配 XPath 表达式的第一个 XmlNode

SelectNodes(string)

选择匹配 XPath 表达式的节点列表

适用于:

XmlDocument

XmlElement

XmlAttribute

XPath

Xml文档查询语言

用于从 XML 文档中选择节点集

目标 (假设当前节点是**book**节点) XPath 举例
选择当前节点 .
选择父节点 ..
选择当前节点的所有子节点 *
选择author子节点 author
选择当前节点的title属性 @title
选择当前节点的所有属性 @*
选择当前节点的所有文本节点(XmlText) text()
在当前文档中选择带有特定名称的所有节点,例如选择所有 author节点 //author
在当前文档中选择带有特定名称和特定父节点名称的所有节点,例如选择所有父节点是book,节点是author的节点 //book/author
选择值满足条件的节点,例如选择作者是吴承恩的book节点 **//book[author=吴承恩
选择属性满足条件的节点,例如选择是title是红楼book节点 **//book[@title= ‘红楼梦']

Xml解析

DOM : 基于文档(对象),树型结构,载入时整个载入(内存占用较大)

SAX : 基于流,载入时逐行载入(适合于大量数据的解析)

SAX 模式解析Xml

主要的构成类:

XmlReader(包含XmlTextReader 和 XmlNodeReader两个类)

  • 只向前,非缓存的读取器,将XML数据作为流来处理。
  • 内存需求并不是很大
  • 没有灵活的导航需求
  • 没有在基于DOM的模型中可用的读写功能

XmlWriter (包含Xml)

  • 是一个为生成XML流提供“只向前,非缓存”方式的抽象类。

XmlTextReader:提供了对XML文件的快速,只向前的访问。XmlTextReader的技术类似于读取其他任何文件,先打开文件,读取文件,直至文件结尾,后关闭文件。

XmlTextReader newReader = new XmlTextReader("filename");
newReader.Read();    //读取xml文件的下一个结点
newReader.Read().XmlNodeType()//找到所需要的内容

XmlNodeType枚举的成员:

成 员 说 明
Attribute 属性,如id=“1”
Comment XML注释,如<!- - Some comment - ->
Document 文档对象,表示XML树的根
XmlDeclaration 在文档顶部的XML声明
Element , EndElement 开始元素和结束元素
Text 元素的文本内容
Whitespace 标记之间的空白
…… ……
…… ……

使用XmlTextWriter写XML文件的过程和文件系统写数据的情形相同。
1 打开或者创建一个文件。
2将数据写入文件中
3刷新数据流以确保提交每一个动作
4 关闭文件

XmlTextWrite的使用:

1创建一个xml文件
XmlTextWriter bookWriter = new XmlTextWriter(“C:\book.xml", Encoding.Default);
2写XML
创建XML声明
bookWriter.WriteStartDocument();
编写节点:
bookWriter.WriteStartElement("Price");
bookWriter.WriteString(“120”);
bookWriter.WriteEndElement();
或者
bookWriter.WriteElementString(" Price ", “120”);
添加属性
bookWriter.WriteStartElement("Book");
bookWriter.WriteAttributeString(“Title”, “三国演义”);
bookWriter.WriteEndElement();
3刷新数据流关闭文件
bookWriter.Flush();
bookWriter.Close();

DomSax区别

文档对象模型DOM

DOM 读取整个XML文件并将该文件存储在一个树结构中。

DOM 创建表示原始文档中每个东西的对象,包括元素、文本、属性和空格。

DOM API 是解析 XML 文档非常有用的方法。

SAX解析

读取和操作 XML 数据更快速、更轻量。

SAX 在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。

适用于处理数据流,即随着数据的流动而依次处理数据。

总结

Xml

可扩展的标记语言

eXtensible Markup Language

以简单文本格式存储数据的方式

Xml结构

元素,属性,声明,注释

XML文档验证

DTD

Schema :XSD架构

Xml数据解析

文档对象模型-DOM

类似Sax:XmlTextReader, XmlTextWriter

XmlAdo.Net交互

DataSet

ReadXml(“xml文件”)

WriteXml(" xml文件");

目录
相关文章
|
XML Java 数据格式
一.Xml建模之入门
一.Xml建模之入门
62 1
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
11天前
|
XML 前端开发 Java
XML基本概念入门学习指南
XML(eXtensible Markup Language)是一种可扩展的标记语言,和HTML语言语法类似,同属于标记语言。
|
5月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
66 6
|
3月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
3月前
|
XML Java 数据格式
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
这篇文章是Spring5框架的入门教程,详细讲解了IOC容器中Bean的自动装配机制,包括手动装配、`byName`和`byType`两种自动装配方式,并通过XML配置文件和Java代码示例展示了如何在Spring中实现自动装配。
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
|
3月前
|
XML Java 数据库
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
这篇文章是Spring5框架的实战教程,详细介绍了事务的概念、ACID特性、事务操作的场景,并通过实际的银行转账示例,演示了Spring框架中声明式事务管理的实现,包括使用注解和XML配置两种方式,以及如何配置事务参数来控制事务的行为。
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
|
6月前
|
XML 安全 Java
从零手写实现 apache Tomcat-02-web.xml 入门详细介绍
`web.xml`是Java Web应用的核心配置文件,描述应用工作方式。它包含Servlet、Filter和Listener的定义。例如,示例展示了如何配置名为`my`的Servlet处理`/my`请求,`LoggingFilter`拦截所有请求,以及`MyServletContextAttrListener`监听应用事件。`web.xml`是服务器理解应用结构与行为的指南。迷你版Tomcat实现——mini-cat(开源:https://github.com/houbb/minicat)。
|
6月前
|
XML Java 数据库连接
Spring Data JPA入门简解与XML配置实现
Spring Data JPA入门简解与XML配置实现
258 0
|
XML 数据管理 数据处理
XML入门,之dtd属性与元素详解
XML入门,之dtd属性与元素详解
55 1