0
点赞
收藏
分享

微信扫一扫

XML介绍


文章目录

  • ​​XML介绍和语法规则​​
  • ​​实体引用​​
  • ​​XML 命名规则​​
  • ​​CDATA​​
  • ​​DTD​​

XML介绍和语法规则

【介绍】
XML 指可扩展标记语言,被设计用来传输和存储数据。与 HTML 有些类似,但不同。HTML 旨在显示信息,而 XML 旨在传输信息。今天我们来学习一下。​​​学习更多:W3school XML 教程​​

【语法规则】
所有XML元素必须有关闭元素
XML标签对大小写敏感
XML必须正确嵌套
XML文档必须有根元素,且只有一个根元素
XML的属性必须加引号

【注释】
XML中的注释这样写:
​​​<!-- -->​

实体引用

打开 AS ,在 assets 下新建一个 books.xml

<?xml version="1.0" encoding="utf-8"?>
<books>
<book lan="en">
<isbn>ABC-135-4BC</isbn>
<name>十万个为什么(1)</name>
<price>100</price>
<author>Dr.Lee</author>
</book>
<book lan="en">
<isbn>ABC-136-4BC</isbn>
<name>十万个为什么(2)</name>
<price>200</price>
<author>Dr.Lee</author>
</book>
<book lan="en">
<isbn>ABC-137-4BC</isbn>
<name>十万个为什么(3)</name>
<price>300</price>
<author>Dr.Lee</author>
</book>
</books>

想验证写的 xml 是否正确,可以访问 ​​XML 验证器​​​ 用浏览器查看效果如下:
XML介绍_解析器
在 XML 中,一些字符拥有特殊的意义。在 XML 中,有 5 个预定义的实体引用:

&lt;

<

小于

&gt;

>

大于

&amp;

&

和号

&apos;

'

单引号

&quot;

"

引号

在 XML 中,只有字符 ​​<​​​(解析器会把该字符解释为新元素的开始)和 ​​&​​​ (解析器会把该字符解释为字符实体的开始)确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。例如我们在 xml 中输入​​<​​​会报错:
XML介绍_解析器_02
所以我们可以用实体引用代替:
XML介绍_xml_03
用浏览器查看效果
XML介绍_xml_04

XML 命名规则

名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格

CDATA

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据

之前我们说过,在 XML 元素中,"<" 和 “&” 是非法的。某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 ​​<![CDATA[​​​ 开始,由 ​​]]>​​ 结束:

<book lan="en">
<isbn>ABC-135-4BC</isbn>
<name>十万个为什么(1)</name>
<price><100</price>
<author>Dr.Lee</author>
<![CDATA[
这是一本好书!<<<<
]]>
</book>

浏览器效果
XML介绍_语法规则_05

DTD

文档类型定义(DTD)可定义合法的 XML 文档构建模块。它使用一系列合法的元素来定义文档的结构。DTD 用于定义XML文档的编写格式,在 DTD 文档中我们定义XML包含哪些标签,标签中可以包含哪些属性,属性值的一些限制等。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

<!DOCTYPE 根元素 [元素声明]>

带有 DTD 的 XML 文档实例

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

​​学习更多 DTD 知识​​

XML Schema 是基于 XML 的 DTD 替代者。

XML Schema 描述 XML 文档的结构
​​​学习更多 XML Schema 知识​​

举报

相关推荐

0 条评论