详细介绍XML原理代码实例

黄舟
Libérer: 2017-03-31 14:18:34
original
1295 Les gens l'ont consulté

XML简介
XML 被设计用来传输和存储数据。类似于JSON
XML 指可扩展标记语言(EXtensible MarkupLanguage)
XML 是一种标记语言,很类似 HTML
XML 的设计宗旨是传输数据,而非显示数据
XML 标签没有被预定义。您需要自行定义标签。
XML 被设计为具有自我描述性。
XML 是W3C的推荐标准
XML 被设计用来结构化、存储以及传输信息。(没有格式双方很难知道信息的结构内容)
实例:

  George John Reminder Don't forget the meeting! 
Copier après la connexion

实例解释:
第一行是 XML 声明。它定义 XML 的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
描述文档的根元素

//根元素的开始 **  //根元素的结尾
Copier après la connexion

4个子元素

George John Reminder Don't forget the meeting!
Copier après la connexion

就这样XML文档会形成一种树结构,如下:

  George John Reminder  George John Reminder  
Copier après la connexion

所有 XML 元素都须有关闭标签

This is a paragraph //错

This is a paragraph

//对
Copier après la connexion

XML 标签对大小写敏感

这是错误的。 //错 这是正确的。 //对
Copier après la connexion

XML 必须正确地嵌套

This text is bold and italic //错 This text is bold and italic //对
Copier après la connexion

XML 的属性值须加引号

 //错 George John   //对 George John 
Copier après la connexion

实体引用:就是特殊字符的转意。
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号

if salary < 1000 then
Copier après la connexion

想要的:

if salary < 1000 then
Copier après la connexion

XML 中的注释

Copier après la connexion

在 XML 中,空格会被保留

HTML 会把多个连续的空格字符裁减(合并)为一个:

HTML:Hello my name is David. 输出:Hello my name is David.
Copier après la connexion

在 XML 中,文档中的空格不会被删节。

XML 元素
开始标签直到(且包括)结束标签的部分。如:

John
Copier après la connexion

元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。如:

 //category(属性) Harry Potter //book的子元素,这个子元素只有文本内容 J K. Rowling 2005 29.99 
Copier après la connexion

XML 命名规则

XML 元素必须遵循以下命名规则:
名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格

XML 元素 vs. 属性

 //属性 Anna Smith   female //元素 Anna Smith 
Copier après la connexion

没有什么规矩可以告诉我们什么时候该使用属性,而什么时候该使用子元素,在 XML 中,
您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。

属性无法包含多重的值(元素可以)
属性无法描述树结构(元素可以)
属性不易扩展(为未来的变化)
属性难以阅读和维护

XML命名空间(XML Namespaces)

XML 命名空间提供避免元素命名冲突的方法。
这个 XML 文档携带着某个表格中的信息:

Apples Bananas
Copier après la connexion

这个 XML 文档携带有关桌子的信息(一件家具):

African Coffee Table80120
Copier après la connexion

由于两个文档都包含带有不同内容和定义的

使用前缀来避免命名冲突

  Apples Bananas    African Coffee Table 80 120 
Copier après la connexion

使用命名空间(Namespaces)

  Apples Bananas  
Copier après la connexion

此 XML 文档携带着有关一件家具的信息:

 African Coffee Table 80 120 
Copier après la connexion

默认的命名空间(Default Namespaces)

为元素定义默认的命名空间可以让我们省去在所有的子元素中使用前缀的工作。

Apples Bananas
Copier après la connexion

此 XML 文档携带着有关一件家具的信息:

African Coffee Table80120
Copier après la connexion

命名空间是就近原则的

   data in a //默认的命名空间  data in b //w命名空间      data in e  //就近原则   
Copier après la connexion

CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。(就是里面的数据不进行XML解析)
CDATA 部分由 "" 开始,由 "" 结束:

Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!
元素,就会发生命名冲突。