JavaWEB-(三)Xml简单入门

本文最后更新于:December 3, 2021 pm

XML 指可扩展标记语言(EXtensible Markup Language),是一种标记语言,很类似 HTML。XML 不会做任何事情。XML 被设计用来结构化、存储以及传输信息。XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。通过 XML 可以发明自己的标签。

目录

1.认识XML

1
2
3
4
5
6
7
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码。XML 文档必须包含根元素(如:note),该元素是所有其他元素的父元素。

2.语法规则

2.1 标签

所有 XML 元素都须有关闭标签。在 XML 中,省略关闭标签是非法的。所有元素都必须有关闭标签。

2.2 大小写

XML 标签对大小写敏感。在 XML 中,标签 <Letter> 与标签 <letter> 是不同的。必须使用相同的大小写来编写打开标签和关闭标签。

2.3 嵌套

XML 必须正确地嵌套。

2.4 根元素

XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。

2.5 属性值

在 XML 中,XML 的属性值须加引号,单引号和双引号均可使用。

2.6 实体引用

表示 符号 说明
&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; 引号

注释:在 XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

2.7 注释

在 XML 中编写注释的语法与 HTML 的语法很相似。

1
<!--这是注释-->

3.命名空间

XML 命名空间提供避免元素命名冲突的方法。当两个不同的文档使用相同的元素名时,就会发生命名冲突。如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//文件一
<table>
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>

//文件二
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

假如这两个 XML 文档被一起使用,由于两个文档都包含带有不同内容和定义的 <table> 元素,就会发生命名冲突。

3.1 使用前缀来避免命名冲突

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
文件一
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
文件二
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

现在,命名冲突不存在了,这是由于两个文档都使用了不同的名称来命名它们的 <table> 元素 (<h:table> 和 <f:table>)。通过使用前缀,我们创建了两种不同类型的 <table> 元素。

3.2 使用命名空间(Namespaces)

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
文件一
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
文件二
<f:table xmlns:f="http://www.w3school.com.cn/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>

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

3.3 XML Namespace (xmlns) 属性

XML 命名空间属性被放置于元素的开始标签之中,语法如下:

1
xmlns:namespace-prefix="namespaceURI"

当命名空间被定义在元素的开始标签中时,所有带有相同前缀的子元素都会与同一个命名空间相关联。用于标示命名空间的地址不会被解析器用于查找信息。其惟一的作用是赋予命名空间一个惟一的名称。不过,很多公司常常会作为指针来使用命名空间指向实际存在的网页,这个网页包含关于命名空间的信息。

3.4 统一资源标识符(URL)

统一资源标识符是一串可以标识因特网资源的字符。最常用的 URI 是用来标示因特网域名地址的统一资源定位器(URL)。另一个不那么常用的 URI 是统一资源命名(URN)。

3.5 默认的命名空间

为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。
示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
//示例一
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
//示例二
<table xmlns="http://www.w3school.com.cn/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/2182003020.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!