Heim  >  Artikel  >  Backend-Entwicklung  >  XML – XML-Einführung und grundlegende Syntax

XML – XML-Einführung und grundlegende Syntax

黄舟
黄舟Original
2017-02-24 14:53:431353Durchsuche

1.XML-Geschichte

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

1985 sgml (Standard Generalized Markup Language)
  • 1993 html (Hypertext Markup Language, www-Netzwerk)
  • html Die Sprache selbst weist einige Mängel auf
  • (1) Tags können nicht angepasst werden

    (2) HTML selbst hat keine Bedeutung

    (3) HTML ist nicht wirklich internationalisiert
Es gibt eine Zwischenübergangssprache, xhtml:
html ->xhtml -> Warum XML



1. Anforderung 1
Datenkommunikation zwischen zwei Programmen?

2. Anforderung 2

Erstellen Sie eine Konfigurationsdatei für einen Server. Wenn das Serverprogramm startet, lesen Sie die Portnummer, die es überwachen soll, sowie den Benutzernamen und das Passwort, um eine Verbindung zur Datenbank herzustellen.

In der XML-Sprache können Benutzer Tags anpassen. Ein Tag wird verwendet, um ein Datenelement zu beschreiben. Ein Tag kann in ein Start-Tag und ein End-Tag unterteilt werden. Zwischen dem Start-Tag und dem End-Tag können andere Tags verwendet werden, um die Beschreibung von Datenbeziehungen zu erreichen .
  • 3. Häufige Anwendungen von XML

  • 1. Das Aufkommen von XML löst das Problem der Datenübertragung zwischen Programmen:
Zum Beispiel die Datenübertragung zwischen QQ-Anwendungen XML-Format zum Übertragen von Daten, mit guter Lesbarkeit und Wartbarkeit

2. XML kann als Konfigurationsdatei verwendet werdenXML-Dateien können als Konfigurationsdateien verwendet werden, wie z server.xml unseres Tomcat-Servers, web.xml. Ein weiteres Beispiel ist die Datei structs-config.xml in unseren Strukturen, hibernate.cfg.xml von Hibernate usw.

3.XML kann als kleine Datenbank verwendet werden
XML-Dateien können als kleine Datenbank verwendet werden, was ebenfalls eine gute Wahl ist. Unser Programm verwendet möglicherweise einige Daten, die häufig eine manuelle Konfiguration erfordern Lesen Sie die Datenbank ein. Wenn dies nicht geeignet ist (da dies den Aufwand für die Pflege der Datenbank erhöht), können Sie erwägen, XML direkt zu verwenden, um eine kleine Datenbank zu erstellen. Das direkte Lesen von Dateien auf diese Weise ist offensichtlich schneller als das Lesen der Datenbank. Beispielsweise werden XML-Dateien verwendet, um Benutzer-Chat-Datensätze in MSN zu speichern.

Startfall: Verwenden Sie XML, um Klasseninformationen aufzuzeichnen.

Wir können es mit einem Browser öffnen:

Kann unser XML also wie HTML auf der Webseite angezeigt werden? Es ist auch möglich, es kann auch mit CSS geändert werden, aber wir verwenden es nicht, wir müssen nur XML zum Speichern von Daten verwenden.

Wenn wir in diesem Beispiel die Codierung der ersten Zeile in utf-8 ändern und sie dann mit einem Browser öffnen, wird ein Fehler gemeldet. Warum ist das so?


Weil die Standardkodierung von XML-Dateien ANSI ist, die vom American National Standards Institute entwickelt wurde. Es hat je nach Land und Region unterschiedliche Standards formuliert. In China ist es GB2312. Daher verwenden wir GB2312. Bei der Codierung treten keine Fehler auf, bei Verwendung von UTF-8 wird jedoch ein Fehler gemeldet.


Die Lösung besteht darin, die XML-Datei in den UTF-8-Kodierungsmodus zu ändern.

<?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>
4.XML-Syntax

Eine XML-Datei ist in folgende Teile unterteilt: XML – XML-Einführung und grundlegende Syntax1 Dokumentdeklaration

2 >3. Attribute

4. Kommentare

5. CDATA-Bereich, Sonderzeichen

6. Verarbeitungsanweisung (Verarbeitungsanweisung)

4.1.XML-Syntax-Dokumentdeklaration

Die XML-Deklaration wird in der ersten Zeile des XML-Dokuments platziert

Die XML-Deklaration besteht aus folgenden Teilen:

Version – das Dokument entspricht der XML1.0-Spezifikation, wir lernen 1.0

Kodierung – Dokumentzeichenkodierung, z. B. „GB2312“ oder „UTF-8“
eigenständig – ob die Dokumentdefinition unabhängig verwendet wird
standalone="no" ist der Standardwert. Ja bedeutet, dass es unabhängig verwendet wird, während Nein bedeutet, dass es nicht unabhängig verwendet wird



4.2. XML-Syntax – Element (oder Tag, Knoten)

( 1) Jedes XML-Dokument darf ein und nur ein

Wurzelelement haben
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>


Das Wurzelelement ist ein Element, das alle anderen Elemente vollständig einschließt Dokument


Das Start-Tag des Stammelements muss vor den Start-Tags aller anderen Elemente platziert werden.

Das Schluss-Tag des Stammelements Element muss vor den Start-Tags aller anderen Elemente platziert werden

(2) XML-Elemente beziehen sich auf Tags, die in XML-Dateien vorkommen in ein Start-Tag und ein End-Tag. Ein Tag hat die folgenden Schreibstile: Beispielsweise enthält

  • den Tag-Körper:

  • enthält keinen Tag-Body:

(3) Mehrere Unter-Tags können auch in einem Tag verschachtelt werden. Allerdings müssen alle Tags angemessen verschachtelt sein und eine Kreuzverschachtelung ist beispielsweise absolut nicht zulässig.

  • führt definitiv zu einem Fehler.

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

    <stu>xiaoming</stu>

    和如下:

    <stu>
        xiaoming</stu>

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

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

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

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

    • 元素内不能包含空格

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

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

    4.3.XML语法-属性

    <student id="100">
        <name>Tom</name></student>

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

    XML – XML-Einführung und grundlegende Syntax

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

    <元素名 属性名1="属性值1" 属性名2="属性值2">

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

    4.4.XML语法-注释

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

    <!--这是一个注释-->

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

    4.5.XML语法-CDATA节

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

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

    语法如下:

    <![CDATA[
        ......
    ]]>

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

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

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

    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;
    }

    我们在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>

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

    XML – XML-Einführung und grundlegende Syntax

    但是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. Warum XML benötigt wird

    Anforderung 1
    Datenkommunikation zwischen zwei Programmen?
    2. Anforderung 2
    Erstellen Sie eine Konfigurationsdatei für einen Server. Wenn das Serverprogramm startet, lesen Sie die Portnummer, die es überwachen soll, sowie den Benutzernamen und das Passwort für die Verbindung zur Datenbank.

    In der XML-Sprache können Benutzer Tags anpassen. Ein Tag wird verwendet, um ein Datenelement zu beschreiben. Ein Tag kann in ein Start-Tag und ein End-Tag unterteilt werden. Zwischen dem Start-Tag und dem End-Tag können andere Tags verwendet werden, um die Beschreibung von Datenbeziehungen zu erreichen .

    3. Häufige Anwendungen von XML

    1. Das Aufkommen von XML löst das Problem der Datenübertragung zwischen Programmen:
    Zum Beispiel die Datenübertragung zwischen QQ-Anwendungen XML-Format zum Übertragen von Daten, mit guter Lesbarkeit und Wartbarkeit

    2. XML kann als Konfigurationsdateien verwendet werden
    XML-Dateien können als Konfigurationsdateien verwendet werden, wie z server.xml unseres Tomcat-Servers, web.xml. Ein weiteres Beispiel ist die Datei structs-config.xml in unseren Strukturen, hibernate.cfg.xml von Hibernate usw.

    3.XML kann als kleine Datenbank verwendet werden
    XML-Dateien können als kleine Datenbank verwendet werden, was ebenfalls eine gute Wahl ist. Unser Programm verwendet möglicherweise einige Daten, die häufig eine manuelle Konfiguration erfordern Lesen Sie die Datenbank ein. Wenn dies nicht geeignet ist (da dies den Aufwand für die Pflege der Datenbank erhöht), können Sie erwägen, XML direkt zu verwenden, um eine kleine Datenbank zu erstellen. Das direkte Lesen von Dateien auf diese Weise ist offensichtlich schneller als das Lesen der Datenbank. Beispielsweise werden XML-Dateien verwendet, um Benutzer-Chat-Datensätze in MSN zu speichern.

    Startfall: Verwenden Sie XML, um Klasseninformationen aufzuzeichnen.

    <?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>

    Wir können es mit einem Browser öffnen:

    XML – XML-Einführung und grundlegende Syntax

    Kann unser XML also wie HTML auf der Webseite angezeigt werden? Es ist auch möglich, es kann auch mit CSS geändert werden, aber wir verwenden es nicht, wir müssen nur XML zum Speichern von Daten verwenden.

    Wenn wir in diesem Beispiel die Codierung der ersten Zeile in utf-8 ändern und sie dann mit einem Browser öffnen, wird ein Fehler gemeldet. Warum ist das so?

    Weil die Standardkodierung von XML-Dateien ANSI ist, die vom American National Standards Institute entwickelt wurde. Es hat je nach Land und Region unterschiedliche Standards formuliert. In China ist es GB2312. Daher verwenden wir GB2312. Bei der Codierung treten keine Fehler auf, bei Verwendung von UTF-8 wird jedoch ein Fehler gemeldet.

    Die Lösung besteht darin, die XML-Datei in den UTF-8-Kodierungsmodus zu ändern.

    4.XML-Syntax

    Eine XML-Datei ist in folgende Teile unterteilt:
    1 Dokumentdeklaration
    2 >3. Attribute
    4. Kommentare
    5. CDATA-Bereich, Sonderzeichen
    6. Verarbeitungsanweisung (Verarbeitungsanweisung)

    4.1.XML-Syntax-Dokumentdeklaration

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    Die XML-Deklaration wird in der ersten Zeile des XML-Dokuments platziert

    Die XML-Deklaration besteht aus folgenden Teilen:

    Version – das Dokument entspricht der XML1.0-Spezifikation, wir lernen 1.0

    Kodierung – Dokumentzeichenkodierung, z. B. „GB2312“ oder „UTF-8“
    eigenständig – ob die Dokumentdefinition unabhängig verwendet wird
    standalone="no" ist der Standardwert. „Ja“ bedeutet, dass es unabhängig verwendet wird, während „Nein“ bedeutet, dass es nicht unabhängig verwendet wird

    4.2. XML-Syntax – Element (oder Tag, Knoten)

    ( 1) Jedes XML-Dokument darf ein und nur ein

    Wurzelelement haben

    • Das Wurzelelement ist ein Element, das alle anderen Elemente vollständig einschließt Dokument

    • Das Start-Tag des Stammelements muss vor den Start-Tags aller anderen Elemente platziert werden.

    • Das Schluss-Tag des Stammelements Element muss vor den Start-Tags aller anderen Elemente platziert werden

    (2) XML-Elemente beziehen sich auf Tags, die in XML-Dateien vorkommen in ein Start-Tag und ein End-Tag. Ein Tag hat beispielsweise die folgende Schreibweise:

    • enthält den Tag-Körper:

    <a>www.sohu.com</a>
    • enthält keinen Tag-Body:

    <a></a>,简写为:<a/>
    (3) Mehrere Unter-Tags können auch in einem Tag verschachtelt werden. Allerdings müssen alle Tags angemessen verschachtelt sein und eine Kreuzverschachtelung ist beispielsweise absolut nicht zulässig.

    <a>welcome to <b> www.sohu.com </a></b>
    führt definitiv zu einem Fehler.

    (4) Alle Leerzeichen und Zeilenumbrüche, die in XML-Tags vorkommen, werden vom XML-Parser als Tag-Inhalt behandelt. Beispielsweise haben die folgenden beiden Absätze

    unterschiedliche Bedeutungen.

    <stu>xiaoming</stu>
    und wie folgt:

    <stu>
        xiaoming</stu>
    (5) Da in XML Leerzeichen und Zeilenumbrüche als Originalinhalt verarbeitet werden, ist beim Schreiben von XML besonderes zu beachten Aufmerksamkeit bei der Einreichung.

    (6) Namenskonvention: Ein XML-Element kann Buchstaben, Zahlen und andere sichtbare Zeichen enthalten, muss jedoch den folgenden Konventionen entsprechen:

    • Groß-/Kleinschreibung -sensitiv, zum Beispiel sind Element P und Element p zwei verschiedene Elemente

    • dürfen nicht mit einer Zahl oder einem Unterstrich „_“ beginnen

    • darf nicht innerhalb eines Elements sein. Enthält Leerzeichen

    • Darf keinen Doppelpunkt (:) im Namen enthalten

    • Chinesisch kann verwendet werden, wird aber im Allgemeinen nicht verwendet auf diese Weise

    4.3.XML语法-属性

    <student id="100">
        <name>Tom</name></student>

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

    XML – XML-Einführung und grundlegende Syntax

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

    <元素名 属性名1="属性值1" 属性名2="属性值2">

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

    4.4.XML语法-注释

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

    <!--这是一个注释-->

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

    4.5.XML语法-CDATA节

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

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

    语法如下:

    <![CDATA[
        ......
    ]]>

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

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

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

    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;
    }

    我们在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>

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

    XML – XML-Einführung und grundlegende Syntax

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

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

    语法规范

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

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Ajax xmlHttpRequest-ObjektNächster Artikel:Ajax xmlHttpRequest-Objekt