编程技术是改变世界的力量。
本站
当前位置:网站首页 > 后端语言 > 正文

不会用XML我都不好意思说我是java程序员

gowuye 2024-04-04 11:54 6 浏览 0 评论

什么是XML

XML是由万维网联盟(W3C)创建的标记语言,用于定义编码人类和机器可以读取的文档的语法。它通过使用定义文档结构的标签以及如何存储和传输文档来实现这一点。

众所周知,xml常用于数据存储和传输,文件后缀为 .xml;

它是可扩展标记语言(Extensible Markup Language,简称XML),是一种标记语言。

  • XML 指可扩展标记语言(EXtensible Markup Language)。
  • XML 是一种很像HTML的标记语言。
  • XML 的设计宗旨是传输数据,而不是显示数据。
  • XML 标签没有被预定义。您需要自行定义标签。
  • XML 被设计为具有自我描述性。
  • XML 是 W3C 的推荐标准。

XML的作用

XML 使用一组标记来描绘数据元素。每个元素封装可能十分简单也可能十分复杂的数据。您可以定义一组无限制的 XML 标记。例如,您可以定义一些 XML 标记来声明订单中的数据,如价格、税收、发货地址、帐单地址等等。由于 XML 标记在整个单位中以及跨单位采用,因此来自各种不同数据存储区的数据将更容易交换和操作。

XML 是一种简单、与平台无关并被广泛采用的标准。XML 相对于 HTML 的优点是它将用户界面与结构化数据分隔开来。这种数据与显示的分离使得集成来自不同源的数据成为可能。客户信息、订单、研究结果、帐单付款、病历、目录数据及其他信息都可以转换为 XML。

XML文件的主要作用是用于不同应用、不同平台之间的数据共享和通信,另外它还可以用来存放配置文件以及存储数据。

XML在JAVA项目中的作用

java项目中,xml文件一般都是用来存储一些配置信息

一般的编程, 多数用来存储配置信息 . 拿JDBC来说,可以把数据库连接字符串写到xml,如果要修改数据源,只需要改xml就可以了,没必要再去重新编译java文件,而且,这些配置信息放在一起,别的人来读你写的代码的时候,就方便了很多

框架中的xml , 除了配置信息 , 还可以写一些对应关系,其实也是一种配置信息 .拿struts来说,xml配置的是页面url对应后台java类(action)的关系,在配置和修改的时候,只需要改一个xml文件就可以了,没必要一个个的查找java代码

java项目完成之后,每个模块应该都是独立的,模块之间的关系都可以使用xml来进行维护,spring就是这样的一个框架

一个好的项目,需要有良好的可拓展性,如果把所有的逻辑关系还有配置信息都写入代码中,会使程序的可拓展性变差,为了解决这个问题,xml就可以对整个项目进行调度(spring)

还有使用xml作为数据储存,不过用起来很少,多数还是用来存放配置信息

不同的xml起到不同的作用:比如说web项目的中的配置文件起到配置路径作用,以及跳转请求的作用。hibernate的配置文件起到配置连接数据库和相关属性以及对实体类和关系型数据库进行映射的的作用,spring的配置文件起到配置javabean的实例化以及整合框架的作用。还有一些xml文件中存放了一些数据供程序读取。

其实说到底配置文件就是存储数据用的相当于小型数据库,使用dom4j等一些读取写配置文件jar包就能实现对配置文件的读取,还有也可以跨语言的媒介!!

于XML类似的

HTML,json

XML文件结构

XML语法基本点

1.序言码

2.处理指令PI

3.根元素

4.元素

5.属性

6.CDATA节

7.注释

列子

一个xml文档必须要有第一行的声明和它的文档元素的描述信息就可以了。

3、xml声明

注:xml声明一般是xml文档的第一行;xml声明由以下几个部分组成:

根元素

元素

(1) 所有的xml元素都必须有结束标签;

(2) xml标签对大小写敏感;

(3) xml必须正确地嵌套;

(4)元素的命名规则:

名称中可以包含字母、数字或者其他的字符;

名称不能以数字或者标点符号开始;

名称中不能包含空格。

(5)空元素

属性

(1)语法

<元素名 属性名=“属性值”/>

例:<Student ID=“S100”>

<Name>Tom</Name>

</Student>

(2)注意:

属性值用双引号包裹;一个元素可以有多个属性,它的基本格式为:

<元素名 属性名=“属性值” 属性名=“属性值”>;

属性值中不能够直接包含<.”,&。

实体

在xml中,一些字符拥有特殊的意义。如果把字符“<”放在xml元素中,会发生错误,这是因为解析器会把它当作新元素的开始,这样会产生xml错误:

为了避免这个错误,请用实体引用来代替“<”字符:

xml中5个预定义实体

注释

注:注释内容中不要出现”--”;不要把注释放在标签中间;注释不能嵌套。

总结:

(1)xml描述的是文档的内容与语义,而不是文档应当如何显示;

(2)格式正规(well formed)的xml文档

遵循如下规则的xml文档称为格式正规的xml文档:

v 必须有xml声明语句;

v 必须有且仅有一个根元素;

v 标签大小写敏感;

v 属性值用双引号;

v 标签成对;

v 空标签关闭;

v 元素正确嵌套。

(3)有效的(valid)xml文档。首先xml文档是个格式正规的xml文档,然后又需要满足DTD的要求,这样的xml文档称为有效的xml文档;

10、解析器

11、命名空间

11.1、xml命名空间(xml Namespaces)

(1)xml命名空间提供避免元素命名冲突的方法。

(2)在xml中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突。

11.2、xml命名空间示例

(1)使用前缀示例

与仅仅使用前缀不同,我们为标签添加了一个xmlns属性,这样就为前缀赋予了一个与某个命名空间相关联的限定名称。

喜欢请收藏

相关推荐

爱上开源之golang入门至实战第四章-切片(Slice)

前言Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可...

Go语言入门必知教程-切片

切片是一种灵活的和可扩展的数据结构,用于实现和管理数据集。切片由多个元素组成,所有元素都是相同类型的。切片是动态数组的一部分,可以根据需要进行增长和收缩。与数组一样,切片也可以索引。切片具有容量和长度...

Go语言基础-切片

切片是什么?切片是Go语言的一种数据结构。和数组相似,不过切片可以在它的结尾增加更多的元素。这样可变长度在实际编程中更为有用。声明切片切片的声明和数组也很相似,只是声明切片时不需要指定大小。例:va...

5分钟掌握GO中切片的基本使用方法

最近Golang越来越火,不少小伙伴都纷纷开始学习Golang,但对于原先为C++或者JAVA的同学,用习惯了数据、list、vector等,会对Go的切片slice不习惯,下面整理出go中slice...

揭秘 Go 切片(Slice)的秘密

当向切片添加新参数时,底层数组会发生什么变化?它会扩展以容纳更多元素吗?在这篇文章中,我们将深入探讨切片的内部工作原理,以及如何利用这些知识来进行更好的内存管理和性能优化。具体而言,我们将探索Go...

【Go语言slice详解】深入掌握Go语言中的slice类型及常用操作!

Go语言中的slice(切片)是一种非常方便的数据结构,可以动态地增加或减少其元素数量,且可以访问底层数组的任意一个子序列。本文将对Go语言中的slice进行详细的讲解。Slice的定义在Go语言中,...

掌握GO中的Slice,这就够了

最近Golang越来越火,不少小伙伴都纷纷开始学习Golang,但对于原先为C++或者JAVA的同学,用习惯了数据、list、vector等,会对Go的切片slice不习惯,下面整理出go中slice...

golang2021面向对象(26)Go语言类型内嵌和结构体内嵌

结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。?可以粗略地将这个...

2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内

2022-11-13:以下go语言代码中,如何获取结构体列表以及结构体内的指针方法列表?以下代码应该返回{"S1":["M1","M2"],"S...

Go语言文件和目录操作

文件和目录操作概述一、文件和目录操作概述在计算机中,文件和目录是存储数据的重要方式。在Go语言中,我们可以使用os和io/ioutil包提供的函数和结构体来进行文件和目录操作。本文将详细介绍Go语言中...

跟我一起学习go语言(五)golang中结构体的初始化方法

1、自定义一个结构体typeVertexstruct{X,Yfloat64}2、初始化方法-指针:rect1:=new(Vertex)rect2:=&Vertex...

Go复合数据类型:结构体

一种通用的、对实体对象进行聚合抽象的能力,在Go中,提供这种聚合抽象能力的类型是结构体类型,也就是struct。自定义一个新类型在Go中,我们自定义一个新类型一般有两种方法。第一种是类型定义...

Go语言基础:方法

导读在阅读本文章前,假定你具备如下能力:?已掌握结构体1.方法1.1方法的概念在理解程序中方法的概念时,我们先看看现实中的一些情况,这样相对比较好理解一些。在农村的朋友可能会知道,在医疗落后的情况...

为什么 Go 语言 struct 要使用 tags

在Go语言中,struct是一种常见的数据类型,它可以用来表示复杂的数据结构。在struct中,我们可以定义多个字段,每个字段可以有不同的类型和名称。除了这些基本信息之外,Go还提供了s...

一文带你掌握掌握 Golang结构体与方法

1.Golang结构体的概念及定义结构体是Golang中一种复合类型,它是由一组具有相同或不同类型的数据字段组成的数据结构。结构体是一种用户自定义类型,它可以被用来封装多个字段,从而实现数据的...

取消回复欢迎 发表评论: