【颗粒归仓】XML小结

简介

XML全称Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML很相似,但HTML中的元素是固定的,二XML的标签是可以由用户自定义的。XML的宗旨是传输数据,并非显示数据。

XML与HTML的主要差异

  1. XML不是HTML的替代,是对HTML的补充。大多数web应用程序中,XML用于传输数据,而HTML用于格式化并且显示数据。
  2. XML和HTML为不同的目的而设计。XML被设计为传输和存储数据,其焦点是数据的内容。HTML被设计用来显示数据,其焦点是数据的外观。

XML语法

在这里插入图片描述

XML文档声明

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

  1. 文档声明必须为<?xml开头,以?>结束;
  2. 文档声明必须从文档的0行0列位置开始;
  3. 文档声明只有三个属性:
    a)version:指定XML文档版本。必须属性,为1.0。
    b)encoding:指定当前文档的编码。可选属性,默认值为utf-8;
element元素

<element>

  1. 元素是XML文档中最重要的组成部分;
  2. 普通元素的结构由开始标签、元素体、结束标签组成,(“<hello>早上好</hello>”);
  3. 元素体:可以是元素,也可以是文本(“<b><a>早上好</a></b>”);
  4. 空元素:空元素只有开始标签,而没有结束标签,但元素必须自己闭合,(<c/>);
  5. 元素命名:
    a)区分大小写
    b)不使用空格,不使用冒号:
    c)不建议以XML、xml、Xml开头
  6. 格式化良好的XML文档,必须只有一个根元素;
属性

<web-app version="3.0">

  1. 属性是元素的一部分,它必须出现在元素的开始标签中;
  2. 属性的定义格式:属性名=属性值,其中属性值必须使用单引或双引;
  3. 一个元素可以有0~N个属性,但一个元素中不能出现同名属性;
  4. 属性名不能使用空格、冒号等特殊字符,且必须以字母开头
注释
  1. 以“<!–”开始,以“–>”结束。
转义字符

XML中,一些字符拥有特殊的意义,因为已经被XML文档结构所使用,所以在元素体或属性值中使用这些符号就必须使用转义字符,例如:“<”,“>”,“"”,“'”,“&”。
在这里插入图片描述

CDATA区

<![CDATA[任意内容]]>
当大量的转义字符出现在xml文档中时,会使xml文档的可读性大幅度降低,这是如果使用CDATA段会好一些。在CDATA段中出现的“<”,“>”,“"”,“'”,“&”都无需使用转义符。这可以提高xml文档的可读性。

约束

DTD

DTD(Document Type Definition)即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。
DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文档来看文档是否符合规范,元素和标签是否正确。
一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
DTD与XSD相比:

  1. DTD是使用非XML语法编写的。
  2. DTD不可扩展,不支持命名空间,只提供非常有限的数据类型。
Schema

XML Schema 语言也就是XSD(XML Schema Definition)。描述了XML文档的结构。
可以用一个指定的XML Schema来验证某个XML文档,以检查改XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可根据此检查一个XML文档是否有效。XML Schema本身是一个XML文档,它符合XML语法结构,可以用通用的XML解析器解析它。
一个XML Schema会定义:文档中出现的元素,文档中出现的属性,子元素,子元素的数量,子元素的顺序,元素是否为空,元素和属性的数据类型,元素或属性的默认和固定值。

XML Schema的优点:
  1. 基于XML,没有专门的语法;
  2. 可以像其他XML一样解析和处理;
  3. 比DTD提供了更丰富的数据类型;
  4. 提供可扩充的数据模型;
  5. 支持综合命名空间;
  6. 支持属性组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值