XML - 基础篇(上)

简介: XML - 基础篇(上)

概述

i、XML的基本概念

 - XML(Extensible Markup Language,可扩展标记语言)。

 - 允许开发者自由定义标签,可以将标签和内容有效分离。

 - XML不再侧重于数据如何展示,而是更多地关注数据如何存储和传输。

ii、XML的应用场景

 - XML把数据从HTML分离出来。

 - 简化数据共享。

 - 简化数据的传输。

 - 简化平台的变更。

iii、XML的优势

 - 简单易用的标记语言。

 - 严格的格式。

 - 数据逻辑和显示逻辑分离。


XML文档规则

i、XML整体结构

 - 有且只有一个根元素。

 - 元素必须合理结束。

 - 元素之间必须合理嵌套。

 - 元素的属性必须有值。

ii、XML声明

<?xml version="1.0"encoding="GB2312"standalone="yes"?>

Ps:standalone表示该xml是不是独立的,如果是yes,则表示这个XML文档时独立的,不能引用外部的DTD规范文件;如果是no,则该XML文档不是独立的,表示可以用外部的DTD规范文档。

iii、合法标签名

 - XML元素由开始标签和结束标签组成,结束标签比开始标签多一条斜线。

 - XML文档区分大小写。因此,开始标签和结束标签名必须绝对相同,大小写也要完全一致。

image.pngiv、嵌套子元素

 - XML允许无限深度嵌套子元素,只要保证元素之间合理嵌套即可。

 - XML元素可以嵌套多个重名的子元素,这多个元素之间是有序的。

v、空元素

 - XML允许使用空元素语法,空元素不可接受子元素,也不可接受字符串内容。

 - 空元素和内容为空的元素并不相同。

 - 空元素只是不能包含子元素,也不能包含字符串内容,但完全可以接受属性,而且可以接受任意多个属性。

vi、字符数据

      开始标签和结束标签之间的文本可以是任何Unicode字符,并且其间的任何字符都将忠实地传递给XML处理程序。如果文本字符串中包含一些特殊的字符,例如尖括号(<)或and符号(&),由于这些符号在XML文档中都有特殊的含义,因此直接在XML元素中使用该字符串将引起文档混乱。

 1. 使用实体引用

 为了正确处理XML文档中的特殊字符,XML允许使用实体来表示这些特殊字符。

 XML预置了5个实体引用,如表:

image.png注意:只有“<”和“&”会引起混乱,所以这两个一定要用转义字符,但是为了可读性,其他也通常一律用转义字符。

2. 使用CDATA标记

 在特殊标记CDATA下,所有的特殊字符,甚至是有效的元素都将被当成简单字符处理实体引用也会失去作用,变成纯文本

 语法:<![CDATA[文本内容]]>。

v、注释

 语法:<!--注释字符串-->。

 XML注释需要注意的地方:

   1.不要把注释放在标签之内,否则,该文档将不是一个格式良好的XML文档。

   2.不要把注释放在XML声明之前,XML声明应该永远处于XML文档的第一行。

   3.不要在注释中使用双中画线(--)。

vi、W3C对于属性的使用建议:属性通常提供属于数据组成部分的信息,如果属性值里包含的信息属于该实体本身,则应该使用子元素来指定该信息,因此,W3C推荐尽量使用子元素,而避免使用属性。

vii、换行处理

 目前主流的操作系统,主要有3种换行符:

 1.Windows平台:回车符(CR)和换行符(LF)的组合存储换行。

 2.UNIX和Linux平台:以换行符(LF)存储换行。

 3.Macintosh平台:以回车符(CR)存储换行XML统一换行符(LF)存储换行。

viii、XML文档分类

 1.格式不良好的XML文档

     - 完全没有遵守XML文档基本规则的XML文档。

 2.格式良好但无效的XML文档

     - 遵守了XML文档基本规则,但没有使用DTD或Schema定义语义约束的XML文档。

     - 使用DTD或Schema定义了语义约束,但没有遵守DTD或Schema所定义的语义约束的XML文档。

image.png

3.有效的XML文档

     - 遵守了XML文档基本规则,并使用DTD或Schema定义了语义约束,而且也完全遵守了DTD或Schema所定义的语义            约束的XML文档。

3.XML命名空间

i、为什么使用命名空间?

 - 在同一份XML文档中可能出现多个同名的元素和属性一—这多个同名的元素和属性具有不同的含义和作用,但如果我们不从语法上提供区别,则XML处理器无法区分它们。

ii、使用命名空间

语法:xmlns[:prefix]=“命名空间字符串”。(xmlns是XML Namespaces的缩写)

命名空间的特征:

 - 名字很长(命名空间往往是一个绝对的URL地址)。

 - 名字里往往包含英文冒号、斜线等特殊字符。

image.pngiii、属性使用命名空间

 - 通常情况下,由于属性是属于某个元素的,因此很自然地认为属性总是属于它所在元素所处的命名空间,一般无须专门为属性指定命名空间。

4.XPath 语言

i、XPath 概念

 - XPath语言是一门专门用于在XML文档中查找信息的语言,其他XML程序可利用XPath在XML文档中对元素和属性进行导航。

 提问:为什么要查找标签和属性呢?

 回答:因为XML文档是用来存储数据的,需要将数据提取出来使用,所以通过查找标签和属性进一步获取数据。

ii、XPath 节点

image.png

iii、XPath基本概念

image.pngimage.pngiv、节点关系

     >父节点

     >子节点

     >兄弟节点

     >祖先节点

     >后代节点

v、相对路径和绝对路径image.png5.XPath基础语法image.pngimage.pngimage.pngimage.pngimage.png

6.XPath运算符image.png

image.pngimage.pngimage.png

7.节点相关的常见函数image.png

目录
相关文章
|
XML 存储 设计模式
XML系列(三)之 XML建模
XML系列(三)之 XML建模
|
12天前
|
XML JavaScript 数据格式
XML 相关技术
XML 相关技术
|
1月前
|
XML 存储 JavaScript
|
3月前
|
XML 存储 JavaScript
xml介绍与解析,及xml库包使用
xml介绍与解析,及xml库包使用
39 0
|
6月前
|
XML 存储 数据格式
xml简介
xml简介
37 0
|
XML 存储 设计模式
XML的运用(XML建模)
XML建模是指使用对数据进行建模的过程。在XML建模中,使用XML描述数据结构和数据的关系,这些XML文档可以被解析器解析,从而允许数据被轻松地处理、传递和存储。XML建模是一种非常灵活的建模方法,它允许您为特定的数据创建自定义结构,以满足您的特定需求。其中最常用的建模方法是通过DTD(文档类型定义)或XML Schema(XML模式)来定义XML文档的结构。在XML建模中,也可以使用,将XML文档转换为关系模型,从而实现数据存储和查询。
|
XML 存储 缓存
XML入门三
XML入门三
64 0
|
XML 存储 JavaScript
XML入门一
XML入门一
71 0
|
XML 数据格式
XML入门二
XML入门二
66 0
|
XML 存储 JSON
【XML学习 一】XML基础
【XML学习 一】XML基础
148 0