Premiers pas avec XML

黄舟
黄舟original
2017-02-20 15:04:271394parcourir

XMLPrise en main


Présentation de base


Extensible Markup Language, un sous-ensemble du Standard Universal Markup Language, est un langage de balisage utilisé pour marquer les fichiers électroniques afin de les rendre structurels. Dans les ordinateurs électroniques, les balises font référence à des symboles d'information que les ordinateurs peuvent comprendre. Grâce à ces balises, les ordinateurs peuvent traiter diverses informations telles que des articles, etc. Il peut être utilisé pour marquer des données et définir des types de données. C'est un langage source qui permet aux utilisateurs de définir leur propre langage de balisage. Il est parfaitement adapté au transport sur le World Wide Web, offrant une approche unifiée pour décrire et échanger des données structurées indépendamment des applications ou des fournisseurs. Il s'agit d'une technologie multiplateforme et dépendante du contenu dans l'environnement Internet, et c'est également un outil efficace pour traiter des informations structurées distribuées aujourd'hui. Dès 1998, le W3C a publié la spécification XML1.0, Utiliser il pour simplifier le transfert d'informations sur les documents sur Internet.

L'origine historique du XML

En 1969, GML (Généralisé Langage de balisage Langage de balisage généralisé)---->1985année,SGML (Langage de balisage généralisé standardLangage de balisage généralisé standard)--- > ;1993 année, HTML (Langage de balisage hypertexteLangage de balisage hypertexte)--->1998 Année, XML(Extensible Markup LanguageExtensible Markup Language)

Qu’est-ce que le langage de balisage extensible ?

1, Extensible Markup Language est un langage de balisage très similaire au Hypertext Markup Language.

2. Il est conçu pour transmettre des données, pas pour afficher des données.

3, ses balises ne sont pas prédéfinies. Vous devez définir vous-même les étiquettes.

4, Il est conçu pour être auto-descriptif.

5, qui est la norme recommandée du W3C.

Quelle est la différence entre le langage de balisage extensible et le langage de balisage hypertexte ?

1. Il ne remplace pas le langage de balisage hypertexte.

2, C'est un complément au Hypertext Markup Language.

3, Il est conçu à des fins différentes du langage de balisage hypertexte :

4, Il est conçu pour transmettre et stocker des données, dont l'objectif est le contenu des données.

5. Le langage de balisage hypertexte est conçu pour afficher des données, l'accent étant mis sur l'apparence des données.

6, le langage de balisage hypertexte est conçu pour afficher des informations, alors qu'il est conçu pour transmettre des informations.

7 La meilleure description est la suivante : il s'agit d'un outil de transmission d'informations indépendant du logiciel et du matériel.

Pourquoi avez-vous besoin de XML ?

1, résout le problème de la transmission irrégulière des données.

2, peut très bien décrire les choses dans une structure arborescente.

3, peut être utilisé comme fichier de configuration.

PS : De nos jours, de nombreux langages et technologies utilisent le XML comme standard de transmission de données , donc une compréhension approfondie du XML équivaut à maîtriser un protocole général de transmission de données.

Document de référence : http://www.php.cn/


Cas :

<?xml version="1.0" encoding="UTF-8"?>
<class>
	<stu id="a001">
		<name>张三</name>
		<sex>男</sex>
		<age>20</age>
	</stu> 
	<stu id="a002">
		<name>李四</name>
		<sex>女</sex>
		<age>18</age>
	</stu>
</class>


XML基本语法

一个XML文件可分为如下几部分内容:

文档声明 、元素、属性、注释  、CDATA区 ,特殊字符 、处理指令(processing instruction) 

基本语法:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 上面是文档声明 - ->
<?xml-stylesheet type="text/css" href=”XML2.css”?>
<!-- 上面是处理指令 - ->
<根元素>
    <!-- 注释 - ->
    <![CDATA[     CDATA区,可以是任意字符    ]]>
	<元素 属性=”属性值”>
		<元素>元素内容</元素>
		<空元素/>>
	</元素> 
</class>


文档声明

<?xml version="1.0" encoding=“编码方式"  standalone="yes|no"?>

XML声明放在XML文档的第一行

XML声明由以下几个部分组成:

version - -文档符合XML1.0规范

encoding - -文档字符编码,比如”utf-8”

standalone - -文档定义是否独立使用

standalone="yes

standalone=no”   默认

 

PS:虽说现在XML出了2.0版了,但是现在大多还是用1.0版。

 

元素

基本语法:

<元素>元素内容</元素>
<元素/>


注意事项:

1每个XML文档必须有且只有一个根元素。

2根元素是一个完全包括文档中其他所有元素的元素。

3根元素的起始标记要放在所有其他元素的起始标记之前。

4根元素的结束标记要放在所有其他元素的结束标记之后。

5XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

    包含标签体:3499910bf9dac5ae3c52d5ede73834851235db79b134e9f6b82c0b36e0489ee08ed

    不含标签体的:3499910bf9dac5ae3c52d5ede73834855db79b134e9f6b82c0b36e0489ee08ed, 简写为:7d01d0a03a49fceb57d12197d8d196cb

6一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如:

        3499910bf9dac5ae3c52d5ede7383485hello a4b561c25d9afb9ac8dc4d70affff419world5db79b134e9f6b82c0b36e0489ee08ed0d36329ec37a2cc24d42c7229b69747a 

7对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

例如:

        3499910bf9dac5ae3c52d5ede73834851235db79b134e9f6b82c0b36e0489ee08ed3499910bf9dac5ae3c52d5ede7383485   123   5db79b134e9f6b82c0b36e0489ee08ed意义是完全不同的。

8一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

    1---区分大小写,例如,64e5601d0a941f4972a2954192bdae18e388a4556c0f65e1904146cc1a846bee是两个不同的标记。

    2---不能以数字或"_" (下划线)开头。

    3---不能包含空格。

    4---名称中间不能包含冒号(:)。

9、元素、标签、节点意义都是一样的。


属性

基本语法

<元素 属性1=”属性值” 属性2=”属性值”>元素内容</元素>


注意事项:

1属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)

2一个元素可以有多个属性,它的基本格式为:

3属性名称在同一个元素标记中只能出现一次

4属性值不能包括83992e84119b8649428fe2de73af99ef, &之类的特殊字符,否则需要使用转义字符。



注释


    这个和HTML一样,都是c2a54aadee89294d3edc03e4891272d5,同样也不能注释嵌套,不能放在元素名中间。

 

CDATA

    有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,用于把整段文本解释为纯字符数据而不是标记的情况。包含大量509d37b71e5ee94f7a50f124edbc8c3f&或者"字符。CDATA区中的所有字符都会被当作元素字符数据的常量部分,而不是XML标记。

 

PSCDATA区可以用于传递特殊字符,传递文件数据。可以通过将图片这类二进制文件以byte[]的形式放入CDATA区中,需要使用时在以byte[]的方式读出。

 

处理指令

    处理指令,简称PI (Processing Instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。

    处理指令必须以“0f7ea912b4bec2649ab2166088880186”作为结尾,XML声明语句就是最常见的一种处理指令。 例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。


案例:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="XML2.css" type="text/css"?>
<class>
	<student>
		<name>张三</name>
		<sex>男</sex>
		<age>20</age>
	</student>
	<student>
		<name>李四</name>
		<sex>女</sex>
		<age>18</age>
	</student>
</class>


XML2.css

name {
	font-size: 20px;
	font-weight: bold;
	color: red;
}

sex{
	font-size: 30px;
	font-weight: bolder;
	color: blue;
}

age{
	font-size: 25px;
	font-weight: bolder;
	color: blue;
}


小结

1XML必须有且仅有一个根元素

2、元素大小写敏感

3、元素不能以数字,下划线开头

4属性值用引号

5、属性值如果有特殊字符要用实体表示

6、同一元素的属性必须唯一,属性值可以不唯一

7、非空元素标记必须成对

8空标记要写关闭符号

9元素必须正确嵌套

10、元素中可以包含字母、数字或者其它字符(支持中文)

11、元素中不能含空格

12、元素中不能含冒号(注:冒号留给命名空间使用

 以上就是XML入门的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Déclaration:
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