Maison > développement back-end > Tutoriel XML/RSS > XML : introduction à XML et syntaxe de base

XML : introduction à XML et syntaxe de base

黄舟
Libérer: 2017-02-24 14:53:43
original
1376 Les gens l'ont consulté

Historique 1.XML

gml(1969)->sgml(1985)->html(1993)- >

1985 sgml (Standard Generalized Markup Language)
  • 1993 html (Hypertext Markup Language, réseau www)
  • html Le langage lui-même présente quelques défauts
  • (1) Les balises ne peuvent pas être personnalisées

    (2) Le HTML lui-même n'a pas de sens

    (3) Le HTML n'est pas vraiment internationalisé
Il existe un langage de transition intermédiaire, xhtml :
html ->xhtml -> Pourquoi XML



1 Exigence 1
Communication de données entre deux programmes ?

2. Condition 2

Créer un fichier de configuration pour un serveur. Lorsque le programme serveur démarre, lire le numéro de port qu'il doit écouter, ainsi que le nom d'utilisateur et le mot de passe pour se connecter à la base de données ?

En langage XML, il permet aux utilisateurs de personnaliser les balises. Une balise est utilisée pour décrire une donnée ; une balise peut être divisée en une balise de début et une balise de fin. Entre la balise de début et la balise de fin, d'autres balises peuvent être utilisées pour décrire d'autres données afin d'obtenir la description des relations entre les données. .
  • 3. Applications courantes de XML

  • 1. L'émergence de XML résout le problème de la transmission de données entre programmes :
Par exemple, la transmission de données entre QQ utilise Format XML pour transmettre des données, avec une bonne lisibilité et maintenabilité

2. XML peut être utilisé comme fichiers de configurationLes fichiers XML peuvent être utilisés comme fichiers de configuration. server.xml de notre serveur Tomcat, web.xml. Un autre exemple est le fichier structs-config.xml dans nos structures, le fichier hibernate.cfg.xml d'hibernate, etc.

3.XML peut être utilisé comme une petite base de données
Les fichiers XML peuvent être utilisés comme de petites bases de données, ce qui est également un bon choix. Notre programme peut utiliser certaines données qui nécessitent souvent une configuration manuelle si c'est le cas. lire dans la base de données Si cela ne convient pas (car cela augmentera le travail de maintenance de la base de données), vous pouvez envisager d'utiliser directement XML pour créer une petite base de données. Lire les fichiers directement de cette manière est évidemment plus rapide que lire la base de données. Par exemple, les fichiers XML sont utilisés pour enregistrer les enregistrements de discussion des utilisateurs dans MSN.

Cas de démarrage : utilisez XML pour enregistrer les informations d'un cours.

On peut l'ouvrir avec un navigateur :

Alors notre XML peut-il être affiché sur la page web comme du html ? C'est aussi possible, il peut aussi être modifié avec css, mais nous ne l'utilisons pas, il suffit d'utiliser XML pour stocker les données.

Dans cet exemple, si nous modifions l'encodage de la première ligne en utf-8, puis l'ouvrons avec un navigateur, une erreur sera signalée. Pourquoi ?


Étant donné que le codage par défaut des fichiers XML est ANSI, qui est le codage développé par l'American National Standards Institute, il a formulé différentes normes selon les pays et les régions en Chine, il s'agit du GB2312. nous utilisons donc GB2312. Il n'y aura aucune erreur d'encodage, mais une erreur sera signalée lors de l'utilisation d'UTF-8.


La solution est de changer le fichier XML en mode d'encodage UTF-8.

<?xml version="1.0" encoding="gb2312"?><class>
    <stu id="001">
        <name>杨过</name> 
        <sex>男</sex>
        <age>20</age>
    </stu>  
    <stu id="002">
        <name>小龙女</name>    
        <sex>女</sex>
        <age>21</age>
    </stu></class>
Copier après la connexion
Copier après la connexion
Syntaxe 4.XML

Un fichier XML est divisé en parties suivantes : XML : introduction à XML et syntaxe de baseDéclaration du document

2. >3. Attributs

4. Commentaires

5.Zone CDATA, caractères spéciaux

6. Instruction de traitement (instruction de traitement)

4.1.Déclaration de document de syntaxe XML

La déclaration XML est placée sur la première ligne du document XML

La déclaration XML se compose des parties suivantes :

version – le document est conforme aux Spécification XML1.0, nous apprenons 1.0

encodage – encodage des caractères du document, tel que « GB2312 » ou « UTF-8 »
autonome – si la définition du document est utilisée indépendamment
standalone="no" est la valeur par défaut. oui signifie qu'il est utilisé indépendamment, tandis que non signifie qu'il n'est pas utilisé indépendamment



4.2 Syntaxe XML - élément (ou balise, nœud)

<🎜. >( 1) Chaque document XML doit avoir un et un seul élément racine

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
Copier après la connexion
Copier après la connexion


L'élément racine est un élément qui inclut complètement tous les autres éléments du document




La balise de début de l'élément racine doit être placée avant les balises de début de tous les autres éléments

La balise de fermeture de la racine. L'élément doit être placé avant les balises de début de tous les autres éléments. Après la balise de fin

(2) Les éléments XML font référence aux balises qui apparaissent dans les fichiers XML. en une balise de début et une balise de fin. Une balise a les styles d'écriture suivants : Par exemple,

  • contient le corps de la balise :

  • <🎜. >
  • ne contient pas de corps de balise :
(3) Plusieurs sous-balises peuvent également être imbriquées dans une seule balise. Cependant, toutes les balises doivent être raisonnablement imbriquées et l'imbrication croisée n'est absolument pas autorisée. Par exemple,

entraînera certainement une erreur.

    (4)对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。例如下面两段内容的意义是不一样的。

    <stu>xiaoming</stu>
    Copier après la connexion
    Copier après la connexion

    和如下:

    <stu>
        xiaoming</stu>
    Copier après la connexion
    Copier après la connexion

    (5)由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,要特别注意。

    (6)命名规范:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守以下规范:

    • 区分大小写,例如,元素P和元素p是两个不同的元素

    • 不能以数字或下划线”_”开头

    • 元素内不能包含空格

    • 名称中间不能包含冒号(:)

    • 可以使用中文,但一般不这么用

    4.3.XML语法-属性

    <student id="100">
        <name>Tom</name></student>
    Copier après la connexion
    Copier après la connexion

    (1)属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,如下:

    XML : introduction à XML et syntaxe de base

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

    <元素名 属性名1="属性值1" 属性名2="属性值2">
    Copier après la connexion
    Copier après la connexion

    (3)特定的属性名称在同一个元素标记中只能出现一次
    (4)属性值不能包括<,>,&,如果一定要包含,也要使用实体

    4.4.XML语法-注释

    XML的注释类似于HTML中的注释:

    <!--这是一个注释-->
    Copier après la connexion

    (1)注释内容不要出现--
    (2)不要把注释放在标记中间;
    (3)注释不能嵌套
    (4)可以在除标记以外的任何地方放注释

    4.5.XML语法-CDATA节

    假如有这么一个需求,需要通过XML文件传递一幅图片,怎么做呢?其实我们看到的电脑上的所有文件,本质上都是字符串,不过它们都是特殊的二进制字符串。我们可以通过XML文件将一幅图片的二进制字符串传递过去,然后再解析成一幅图片。那么这个字符串就会包含大量的<,>,&或者“等一些特殊的不合法的字符。这时候解析引擎是会报错的。

    所以,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。

    语法如下:

    <![CDATA[
        ......
    ]]>
    Copier après la connexion
    Copier après la connexion

    CDATA节中可以输入任意字符(除]]>外),但是不能嵌套!

    如下例,这种情况它不会报错,而如果不包含在CDATA节中,就会报错:

    <stu id="001">
        <name>杨过</name> 
        <sex>男</sex>
        <age>20</age>
        <intro><![CDATA[ad<<&$^#*k]]></intro></stu>
    Copier après la connexion
    Copier après la connexion

    4.6.XML语法-处理指令

    处理指令,简称PI(processing instruction)。处理指令用来指示解析引擎如何解析XML文件,看下面一个例子:

    比如我们也可以使用css样式表来修饰XML文件,编写my.css如下:

    name{    
    font-size:80px;    
    font-weight:bold;    
    color:red;
    }
    sex{    
    font-size:60px;    
    font-weight:bold;    
    color:blue;
    }
    sex{    
    font-size:40px;    
    font-weight:bold;    
    color:green;
    }
    Copier après la connexion
    Copier après la connexion

    我们在xml文件中使用处理指令引入这个css文件,如下:

    <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet href="my.css" type="text/css"?><class>
        <stu id="001">
            <name>杨过</name> 
            <sex>男</sex>
            <age>20</age>
        </stu>  
        <stu id="002">
            <name>小龙女</name>    
            <sex>女</sex>
            <age>21</age>
        </stu></class>
    Copier après la connexion

    这时候我们再用浏览器打开这个xml文件,会发现浏览器解析出一个带样式的视图,而不再是单纯的目录树了:

    XML : introduction à XML et syntaxe de base

    但是XML的处理指令不要求掌握,因为用到的很少。

    5.格式正规的XML文档-小结

    语法规范

    1.XML声明语句
    2.必须有一个根元素
    3.标记大小写敏感
    4.属性值用引号
    5.标记成对
    6.空标记关闭
    7.元素正确嵌套

    1.XML历史

    gml(1969)->sgml(1985)->html(1993)->xml(1998)

    • 1969 gml(通用标记语言),主要目的是要在不同的机器之间进行通信的数据规范

    • 1985 sgml(标准通用标记语言)

    • 1993 html(超文本标记语言,www网)

    html语言本身是有一些缺陷的
    (1)不能自定义标签
    (2)html本身缺少含义
    (3)html没有真正的国际化

    有一个中间过渡语言,xhtml:
    html->xhtml->xml

    • 1998 xml extensiable markup language 可扩展标记语言

    2. Pourquoi XML est nécessaire

    1. Exigence 1
    Communication de données entre deux programmes ?
    2. Condition 2
    Créer un fichier de configuration pour un serveur. Lorsque le programme serveur démarre, lire le numéro de port qu'il doit écouter, ainsi que le nom d'utilisateur et le mot de passe pour se connecter à la base de données ?

    En langage XML, il permet aux utilisateurs de personnaliser les balises. Une balise est utilisée pour décrire une donnée ; une balise peut être divisée en une balise de début et une balise de fin. Entre la balise de début et la balise de fin, d'autres balises peuvent être utilisées pour décrire d'autres données afin d'obtenir la description des relations entre les données. .

    3. Applications courantes de XML

    1. L'émergence de XML résout le problème de la transmission de données entre programmes :
    Par exemple, la transmission de données entre QQ utilise Format XML pour transmettre des données, avec une bonne lisibilité et maintenabilité

    2. XML peut être utilisé comme fichiers de configuration
    Les fichiers XML peuvent être utilisés comme fichiers de configuration. server.xml de notre serveur Tomcat, web.xml. Un autre exemple est le fichier structs-config.xml dans nos structures, le fichier hibernate.cfg.xml d'hibernate, etc.

    3.XML peut être utilisé comme une petite base de données
    Les fichiers XML peuvent être utilisés comme de petites bases de données, ce qui est également un bon choix. Notre programme peut utiliser certaines données qui nécessitent souvent une configuration manuelle si c'est le cas. lire dans la base de données Si cela ne convient pas (car cela augmentera le travail de maintenance de la base de données), vous pouvez envisager d'utiliser directement XML pour créer une petite base de données. Lire les fichiers directement de cette manière est évidemment plus rapide que lire la base de données. Par exemple, les fichiers XML sont utilisés pour enregistrer les enregistrements de discussion des utilisateurs dans MSN.

    Cas de démarrage : utilisez XML pour enregistrer les informations d'un cours.

    <?xml version="1.0" encoding="gb2312"?><class>
        <stu id="001">
            <name>杨过</name> 
            <sex>男</sex>
            <age>20</age>
        </stu>  
        <stu id="002">
            <name>小龙女</name>    
            <sex>女</sex>
            <age>21</age>
        </stu></class>
    Copier après la connexion
    Copier après la connexion

    On peut l'ouvrir avec un navigateur :

    XML : introduction à XML et syntaxe de base

    Alors notre XML peut-il être affiché sur la page web comme du html ? C'est aussi possible, il peut aussi être modifié avec css, mais nous ne l'utilisons pas, il suffit d'utiliser XML pour stocker les données.

    Dans cet exemple, si nous modifions l'encodage de la première ligne en utf-8, puis l'ouvrons avec un navigateur, une erreur sera signalée. Pourquoi ?

    Étant donné que le codage par défaut des fichiers XML est ANSI, qui est le codage développé par l'American National Standards Institute, il a formulé différentes normes selon les pays et les régions en Chine, il s'agit du GB2312. nous utilisons donc GB2312. Il n'y aura aucune erreur d'encodage, mais une erreur sera signalée lors de l'utilisation d'UTF-8.

    La solution est de changer le fichier XML en mode d'encodage UTF-8.

    Syntaxe 4.XML

    Un fichier XML est divisé en parties suivantes :
    Déclaration du document
    2. >3. Attributs
    4. Commentaires
    5.Zone CDATA, caractères spéciaux
    6. Instruction de traitement (instruction de traitement)

    4.1.Déclaration de document de syntaxe XML

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    Copier après la connexion
    Copier après la connexion
    La déclaration XML est placée sur la première ligne du document XML

    La déclaration XML se compose des parties suivantes :

    version – le document est conforme aux Spécification XML1.0, nous apprenons 1.0

    encodage – encodage des caractères du document, tel que « GB2312 » ou « UTF-8 »
    autonome – si la définition du document est utilisée indépendamment
    standalone="no" est la valeur par défaut. oui signifie qu'il est utilisé indépendamment, tandis que non signifie qu'il n'est pas utilisé indépendamment

    4.2 Syntaxe XML - élément (ou balise, nœud)

    <🎜. >( 1) Chaque document XML doit avoir un et un seul
    élément racine

      L'élément racine est un élément qui inclut complètement tous les autres éléments du document
    • La balise de début de l'élément racine doit être placée avant les balises de début de tous les autres éléments
    • La balise de fermeture de la racine. L'élément doit être placé avant les balises de début de tous les autres éléments. Après la balise de fin
    (2) Les éléments XML font référence aux balises qui apparaissent dans les fichiers XML. en une balise de début et une balise de fin. Une balise a les styles d'écriture suivants : Par exemple,

      contient le corps de la balise :
    • <🎜. >
    <a>www.sohu.com</a>
    Copier après la connexion
    ne contient pas de corps de balise :
    (3) Plusieurs sous-balises peuvent également être imbriquées dans une seule balise. Cependant, toutes les balises doivent être raisonnablement imbriquées et l'imbrication croisée n'est absolument pas autorisée. Par exemple,
    <a></a>,简写为:<a/>
    Copier après la connexion

    entraînera certainement une erreur.
    <a>welcome to <b> www.sohu.com </a></b>
    Copier après la connexion

    (4) Pour tous les espaces et sauts de ligne qui apparaissent dans les balises XML, l'analyseur XML les traitera comme du contenu de balise. Par exemple, les deux paragraphes suivants ont

    des significations différentes
    .

    et comme suit :
    <stu>xiaoming</stu>
    Copier après la connexion
    Copier après la connexion

    (5) Puisqu'en XML, les espaces et les nouvelles lignes sont traités comme du contenu original, donc lors de l'écriture de XML Pay spécial attention lors du dépôt.
    <stu>
        xiaoming</stu>
    Copier après la connexion
    Copier après la connexion
    (6) Convention de dénomination : Un élément XML peut contenir des lettres, des chiffres et d'autres caractères visibles, mais doit respecter les conventions suivantes :

    Case -sensible, par exemple, l'élément P et l'élément p sont deux éléments différents
    • ne peut pas commencer par un chiffre ou un trait de soulignement "_"
    • ne peut pas être à l'intérieur d'un élément Contient des espaces
    • Ne peut pas contenir de deux-points (:) dans le nom
    • Le chinois peut être utilisé, mais généralement pas utilisé dans par ici

    4.3.XML语法-属性

    <student id="100">
        <name>Tom</name></student>
    Copier après la connexion
    Copier après la connexion

    (1)属性值用双引号(”)或单引号(’)分隔,如果属性值中有单引号,则用双引号分隔;如果有双引号,则用单引号分隔。那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符,类似于html中的空格符),XML有5个预定义的实体字符,如下:

    XML : introduction à XML et syntaxe de base

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

    <元素名 属性名1="属性值1" 属性名2="属性值2">
    Copier après la connexion
    Copier après la connexion

    (3)特定的属性名称在同一个元素标记中只能出现一次
    (4)属性值不能包括<,>,&,如果一定要包含,也要使用实体

    4.4.XML语法-注释

    XML的注释类似于HTML中的注释:

    <!--这是一个注释-->
    Copier après la connexion

    (1)注释内容不要出现--
    (2)不要把注释放在标记中间;
    (3)注释不能嵌套
    (4)可以在除标记以外的任何地方放注释

    4.5.XML语法-CDATA节

    假如有这么一个需求,需要通过XML文件传递一幅图片,怎么做呢?其实我们看到的电脑上的所有文件,本质上都是字符串,不过它们都是特殊的二进制字符串。我们可以通过XML文件将一幅图片的二进制字符串传递过去,然后再解析成一幅图片。那么这个字符串就会包含大量的<,>,&或者“等一些特殊的不合法的字符。这时候解析引擎是会报错的。

    所以,有些内容可能不想让解析引擎解析执行,而是当做原始内容处理,用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节。

    语法如下:

    <![CDATA[
        ......
    ]]>
    Copier après la connexion
    Copier après la connexion

    CDATA节中可以输入任意字符(除]]>外),但是不能嵌套!

    如下例,这种情况它不会报错,而如果不包含在CDATA节中,就会报错:

    <stu id="001">
        <name>杨过</name> 
        <sex>男</sex>
        <age>20</age>
        <intro><![CDATA[ad<<&$^#*k]]></intro></stu>
    Copier après la connexion
    Copier après la connexion

    4.6.XML语法-处理指令

    处理指令,简称PI(processing instruction)。处理指令用来指示解析引擎如何解析XML文件,看下面一个例子:

    比如我们也可以使用css样式表来修饰XML文件,编写my.css如下:

    name{    
    font-size:80px;    
    font-weight:bold;    
    color:red;
    }
    sex{    
    font-size:60px;    
    font-weight:bold;    
    color:blue;
    }
    sex{    
    font-size:40px;    
    font-weight:bold;    
    color:green;
    }
    Copier après la connexion
    Copier après la connexion

    我们在xml文件中使用处理指令引入这个css文件,如下:

    <?xml version="1.0" encoding="gb2312"?><?xml-stylesheet href="my.css" type="text/css"?><class>
        <stu id="001">
            <name>杨过</name> 
            <sex>男</sex>
            <age>20</age>
        </stu>  
        <stu id="002">
            <name>小龙女</name>    
            <sex>女</sex>
            <age>21</age>
        </stu></class>
    Copier après la connexion

    这时候我们再用浏览器打开这个xml文件,会发现浏览器解析出一个带样式的视图,而不再是单纯的目录树了:

    XML : introduction à XML et syntaxe de base

    但是XML的处理指令不要求掌握,因为用到的很少。

    5.格式正规的XML文档-小结

    语法规范

    1. XML声明语句
      2.必须有一个根元素
      3.标记大小写敏感
      4.属性值用引号
      5.标记成对
      6.空标记关闭
      7.元素正确嵌套

     以上就是XML—XML介绍和基本语法的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


É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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal