实体引用
在 XML 中,一些字符拥有特殊的意义 。
如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始 。
这样会产生 XML 错误:
<message>if salary < 1000 then</message>
为了避免这个错误,请用实体引用来代替 "<" 字符:
<message>if salary < 1000 then</message>
在 XML 中,有 5 个预定义的实体引用:
<<小于>>大于&&和号''单引号""引号
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的 。大于号是合法的,但是用实体引用来代替它是一个好习惯 。
XML 中的注释
在 XML 中编写注释的语法与 HTML 的语法很相似:
<!-- This is a comment -->
在 XML 中,空格会被保留
HTML 会把多个连续的空格字符裁减(合并)为一个.在 XML 中,文档中的空格不会被删节 。
XML 以 LF 存储换行
在 windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF) 。这对字符与打字机设置新行的动作有相似之处 。在 Unix 应用程序中,新行以 LF 字符存储 。而 macintosh 应用程序使用 CR 来存储新行 。
什么是 XML 元素?
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分 。
元素可包含其他元素、文本或者两者的混合物 。元素也可以拥有属性 。
<bookstore><book category="CHILDREN"> <title>Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book><book category="WEB"> <title>Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book></bookstore>
在上例中,<bookstore> 和<book>都拥有元素内容,因为它们包含了其他元素 。<author>只有文本内容,因为它仅包含文本 。
在上例中,只有 <book> 元素拥有属性 (category="CHILDREN") 。
XML 命名规则
XML 元素必须遵循以下命名规则:
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
最佳命名习惯
使名称具有描述性 。使用下划线的名称也很不错 。
名称应当比较简短,比如:<book_title>,而不是:<the_title_of_the_book> 。
避免 "-" 字符 。如果您按照这样的方式进行命名:"first-name",一些软件会认为你需要提取第一个单词 。
避免 "." 字符 。如果您按照这样的方式进行命名:"first.name",一些软件会认为 "name" 是对象 "first" 的属性 。
避免 ":" 字符 。冒号会被转换为命名空间来使用(稍后介绍) 。
XML 文档经常有一个对应的数据库,其中的字段会对应 XML 文档中的元素 。有一个实用的经验,即使用数据库的名称规则来命名 XML 文档中的元素 。
非英语的字母比如 éòá 也是合法的 XML 元素名,不过需要留意当软件开发商不支持这些字符时可能出现的问题 。
XML 属性
从 HTML,你会回忆起这个:<img src=https://www.isolves.com/it/wl/zs/2020-06-09/"computer.gif"> 。"src" 属性提供有关 元素的额外信息 。
在 HTML 中(以及在 XML 中),属性提供有关元素的额外信息:
<img src=https://www.isolves.com/it/wl/zs/2020-06-09/"computer.gif">
属性通常提供不属于数据组成部分的信息 。在下面的例子中,文件类型与数据无关,但是对需要处理这个元素的软件来说却很重要:<file type="gif">computer.gif</file>
XML 属性必须加引号属性值必须被引号包围,不过单引号和双引号均可使用 。比如一个人的性别,person 标签可以这样写:
<person sex="female">
或者这样也可以:<person sex='female'>
注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:<gangster name='George "Shotgun" Ziegler'>
或者可以使用实体引用:<gangster name="George "Shotgun" Ziegler">
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 怎样用CDN防篡改、抗攻击、控内容?一份CDN安全指南请查收
- 什么人不适合喝醋蛋液
- 醋蛋液一天喝几次最好
- 海鱼怎么炖好吃又简单
- 煲仔饭酱汁怎么调
- 如何煮煲仔饭
- 12生肖哪一肖是金花?
- 违章后最快多久能查到?
- 一个连是多少人?
- 如何检查酒店针孔?