【XML】什么是XML?

XML:可扩展标记语言(eXtensible Markup Language),是格式严谨的HTML!

诞生背景

在现实生活中大量存在有关系的数据,如图所示。这样的数据如何交给计算机处理呢?
在这里插入图片描述

于是,出现了XML语言,XML出现的根本目标在于描述上图那种,在现实生活中经常出现的有关系的数据。
在XML中,它允许用户自定义标签。一个标签用于描述一段数据;一个标签可分为开始标签和结束标签,在开始标签和结束标签之间,又可以使用其它标签描述其它数据,以此来实现数据关系的描述。

常见应用:

  • XML技术除用于保存有关系的数据之外,它还经常用作软件配置文件,以描述程序模块之间的关系。
  • 在一个软件系统中,为提高系统的灵活性,它所启动的模块通常由其配置文件决定

例如:一个软件在启动时,它需要启动A、B两个模块,而A、B这两个模块在启动时,又分别需要A1、A2和B1、B2模块的支持,为了准确描述这种关系,此时使用XML文件最为合适不过。

第一个XML程序

<html>
	<head>
		<title>this is title</title>
	</head>
	<body>
		<p>html标签</p>
		<P>html标签</P>
		<abc>abc标签</abc>  自定义标签
	</body>
</html>

什么是XML

XML技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范。
HTML

  • 名称:HyperText Markup Languae(超文本标记语言)
  • 标签:标签是w3c组成指定,固定的,约100来个
  • 作用:负责网页的结构

XML

  • 名称:Extend Markup Languge(可扩展标签语言)
  • 标签:由开发者自己制定的(要按照一定的语法定义)
  • 作用:
    1)描述带关系的数据(作为软件的配置文件):描述包含与被包含的关系
properties文件:
		key-value 
		name=eric
		password=123456
XML描述为:
		<user>
			<name>eric</name>
			<password>123456</password>
		</user>

2)作为数据的载体(存储数据,小型的“数据库”)

XML的初衷是替换掉语法松散的HTML,但是现在看来并没有实现;所以XML转移阵地,走向作为配置文件,而不再作为页面结构了!

如何写一个漂亮的XML

一个XML文件分为如下几部分内容:

  1. 文档声明
  2. 标签
  3. 属性
  4. 注释
  5. 转义字符
  6. CDATA区
  7. 处理指令(processing instruction)

核心特性:

  1. xml文件以xml后缀名结尾。
  2. xml文件需要使用xml解析器去解析。浏览器内置了xml解析器。
  3. 语法由w3c组织规定的;

文档声明

语法格式:

<?xml version="1.0" encoding="utf-8"?>

语法解析:
version: XML的版本号,注意是w3c发布的XML版本号,不是你的软件的版本号!
encoding:说明XML文件的字符编码类型
standalone:说明文档是否独立。

注意:

  1. 如果在Eclipse工具中开发xml文件,保存xml文件时自动按照文档声明的encoding来保存文件。
  2. 如果用Windows记事本工具修改xml文件,注意保存xml文件按照文档声明的encoding的码表来保存,因为Windows会智障地按照自己的编码方式,从而导致整个xml失效。
  3. 结论:第一是关注文件本身编码和声明的编码是否一致;第二是禁止使用notepad编辑代码!

标签

语法格式:

<student> 内容 </student> :开始标签  标签体内容  结束标签

标签的特性:

  1. xml标签名称区分大小写。
  2. xml标签一定要正确配对。允许自闭标签:
  3. xml标签名中间不能使用空格
  4. xml标签名不能以数字开头,不能包含空格,名称中间不能包含冒号和Java的命名规范一样;
  5. 注意: 在一个xml文档中,有且仅有一个根标签,即就像一个HTML文件不能有两个<html></html>如下图:在这里插入图片描述
  6. 正确的XML文件成功的运行
    在这里插入图片描述

属性

语法格式:

<Student name="eric">student</Student>

属性约束:
 属性值必须以引号包含,不能省略,但不能单双引号混用,即要么同时用双引号、同时用单引号!!!
 一个标签内可以有多个属性,但不能出现重复的属性名!!!
 属性只能出现在开始标签中。
属性名不能使用空格、冒号的特殊字符,且必须以字母开头

注释

语法格式:

<!--  xml注释  -->

转义字符

定义:

  1. 在xml中内置了一些特殊字符,这些特殊字符不能直接被浏览器原样输出。
  2. 如果希望把这些特殊字符按照原样输出到浏览器,对这些特殊字符进行转义。
  3. 转义之后的字符就叫转义字节。
  4. XML中的转义字符与HTML中的一样。

CDATA区

**作用:**可以让一些需要进行包含特殊字符的内容统一进行原样输出。

<![CAATA[
	<ShaBi>zhi zhang </ShaBi>
]]>

处理指令(processing instruction)

**功能:**告诉xml解析如何解析xml文档

语法格式:
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章