Java教程

Java基础——XML

本文主要是介绍Java基础——XML,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

  • 1.XML概述
  • 2.XML 与 HTML 的主要差异
  • 3.XML的作用
  • 4.XML的组成元素
  • 5.XML约束
  • 6.命名空间

本文章笔记中整理来自视频https://www.bilibili.com/video/BV12k4y1q73J?p=337

1.XML概述

XML的英文全称为Extensible Markup Language,即可扩展标记语言,它是一种标记语言,与HTML类似,XML的标签都是自定义的。 例如 或 等。W3C公司在1988年2月发布1.0版本,2004年2月又发布1.1版本,因为1.1版本不能向下兼容1.0版本,所以1.1版本很少有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。因此目前使用的还是1.0版本为主。

2.XML 与 HTML 的主要差异

• xml标签都是自定义的,html标签是预定义。
• xml的语法严格,html语法松散。
• xml用于存储数据,html用于展示数据

3.XML的作用

XML的作用主要有两个:存放数据和用作配置文件

4.XML的组成元素

(1)文档声明:<?xml version="1.0" encoding="UTF-8"?>
① 文档声明必须为结束;
② 文档声明必须从文档的0行0列位置开始;
③ 文档声明只有2个属性:
1) versioin:指定XML文档版本,必须属性,选择1.0;
2.)encoding:指定当前文档的编码,可选属性,默认值是utf-8;

(2)元素

<bean></bean>

① 元素是XML文档中最重要的组成部分
② 普通元素的结构开始标签、元素体、结束标签组成
③ 元素体:元素体可以是元素,也可以是文本
④ 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合
⑤ 元素命名:
1)区分大小写
2)不能使用空格,不能使用冒号:
3)不建议以XML、xml、Xml开头
4)格式化良好的XML文档,必须只有一个根元素。

(3)属性

<bean id=""  className="">

① 属性是元素的一部分,它必须出现在元素的开始标签中
② 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引
③ 一个元素可以有0~n个属性,但一个元素中不能出现同名属性
④ 属性名不能使用空格、冒号等特殊字符,且必须以字母开头

(4)注释

注释以<!-- 开始,并以--> 结束,例如:<!--注释内容-->

(5)转义字符
因为很多符号已经被XML文档结构所使用,例如:“<”、“>”、“’”、“””、“&”。所以在元素体或属性值中想使用这些符号就必须使用转义字符,常见的特殊符号的=转义字符如下:
在这里插入图片描述

5.XML约束

在XML中可以编写一个文档来约束XML文档的书写规范,这称为XML约束。 常见的XML约束有DTD、Schema。
(1)DTD
DTD(Document Type Definition),文档类型定义,用来约束XML文档。规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等。但在实际的开发中,我们很少自己编写DTD约束文档,通常情况下都是通过框架提供的DTD约束文档,编写对应的XML文档。
(2)Schema
Schema是新的XML文档约束,它比DTD强大地多,同时也将其可以看作DTD 的替代者。 Schema本身也是XML文档,但Schema文档的扩展名为xsd,而不是xml。相比于DTD,Schema 的功能更加强大,数据类型也更加完善 ,除此之外,Schema 还支持名称空间。

6.命名空间

(1)命名空间概述
如果一个XML文档中使用多个Schema文件,而这些Schema文件中定义了相同名称的元素时就会出现名字冲突。这就像一个Java文件中使用了import java.util.和import java.sql.时,在使用Date类时,那么就不明确Date是哪个包下的Date了。总之名称空间就是用来处理元素和属性的名称冲突问题,与Java中的包是同一用途。如果每个元素和属性都有自己的名称空间,那么就不会出现名字冲突问题,就像是每个类都有自己所在的包一样,那么类名就不会出现冲突。
(2)约束文档和xml的关系
当W3C提出Schema约束规范时,就提供“官方约束文档”。我们通过官方文档,必须“自定义schema 约束文档”,开发中“自定义文档”由框架编写者提供。我们提供“自定义文档”限定,编写出自己的xml文档。
在这里插入图片描述
(3)声明命名空间

默认命名空间:<xxx xmlns=””>,使用<标签>
显式命名空间:<xxx xmlns:别名=””>,使用<别名:标签>
这篇关于Java基础——XML的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!