XML摘要

XML 指可扩展标记语言(eXtensible Markup Language)。

  • XML 被设计用来传输和存储数据。(HTML 被设计用来显示数据。)
  • XML 没有预定义的标签。您需要自行定义标签。(HTML 中使用的标签都是预定义的。HTML 文档只能使用在 HTML 标准中定义过的标签)
  • XML 被设计为具有自我描述性。

XML 不会做任何事情,我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

XML 是对 HTML 的补充。
XML 不会替代 HTML,理解这一点很重要。在大多数 Web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据。

对 XML 最好的描述是:
XML 是独立于软件和硬件的信息传输工具。

XML 把数据从 HTML 分离

XML 树结构

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<line id="1"> the <bold>First</bold>line</line>

第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8 : 万国码, 可显示各种语言)。
UTF-8 也是 HTML5, CSS, JavaScript, PHP, 和 SQL 的默认编码。
第二行,DOCTYPE 声明是对外部 DTD 文件的引用

XML将数据组织成为一棵树,DOM 通过解析 XML 文档,为 XML 文档在逻辑上建立一个树模型,树的节点是一个个的对象。这样通过操作这棵树和这些对象就可以完成对 XML 文档的操作,为处理文档的所有方面提供了一个完美的概念性框架。

在这里插入图片描述

XML 文档必须包含根元素。该元素是所有其他元素的父元素。

所有的元素都可以有子元素:

父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。

所有的元素都可以有文本内容和属性(类似 HTML 中)。

XML 语法规则

  • XML 必须包含根元素,它是所有其他元素的父元素,
  • XML 声明是文件的可选部分,如果存在需要放在文档的第一行,(声明不是 XML 文档本身的一部分,它没有关闭标签。)
  • 所有的 XML 元素都必须有一个关闭标签(在 HTML 中,某些元素不必有一个关闭标签)
  • XML 标签对大小写敏感(标签 <Letter> 与标签 <letter> 是不同的。必须使用相同的大小写来编写打开标签和关闭标签)
  • XML 必须正确嵌套
  • XML 属性值必须加引号(单引号和双引号均可使用,如果属性值本身包含双引号,您可以使用单引号,或者您可以使用字符实体)

注释:打开标签和关闭标签通常被称为开始标签和结束标签。不论您喜欢哪种术语,它们的概念都是相同的。

<b><i>This text is bold and italic</i></b>

在上面的实例中,正确嵌套的意思是:由于 元素是在 元素内打开的,那么它必须在 元素内关闭。

实体引用
在 XML 中,一些字符拥有特殊的意义。
如果您把字符 “<” 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生 XML 错误:

<message>if salary < 1000 then</message>

为了避免这个错误,请用实体引用来代替 “<” 字符:

<message>if salary &lt; 1000 then</message>

在 XML 中,有 5 个预定义的实体引用:
在这里插入图片描述注释:在 XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

XML 中的注释

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

<!-- This is a comment -->

在 XML 中,空格会被保留(HTML 会把多个连续的空格字符裁减(合并)为一个:)

XML 以 LF 存储换行
在 Windows 应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。

在 Unix 和 Mac OSX 中,使用 LF 来存储新行。

在旧的 Mac 系统中,使用 CR 来存储新行。

XML 以 LF 存储换行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值