XML - XML の概要と基本構文

黄舟
リリース: 2017-02-24 14:53:43
オリジナル
1387 人が閲覧しました

1.XMLの歴史

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

  • 1969 gml (汎用マークアップ言語)、主な目的は、異なるマシン間でデータを通信することです

  • 1985 sgml (Standard General Markup Language)

  • 1993 html (Hypertext Markup Language、www.net)

html 言語自体 いくつかの欠陥があります
(1) ラベルはカスタマイズできません
(2) HTML自体に意味がない
(3) HTML は真に国際化されていません

中間移行言語である xhtml があります:
html ->

2. 要件 2
サーバー プログラムの起動時に、リッスンするポート番号と、データベースに接続するためのユーザー名とパスワードを読み取ります。
  • XML 言語では、ユーザーがタグをカスタマイズできます。タグは 1 つのデータを記述するために使用され、タグは開始タグと終了タグに分割され、開始タグと終了タグの間に他のタグを使用してデータの関係を記述できます。 。

  • 3. XML の一般的な応用例

1. XML の出現により、プログラム間のデータ送信の問題が解決されました。たとえば、QQ 間のデータ送信には、可読性と保守性に優れた XML 形式が使用されます

2.XML は設定ファイルとして使用できます
XML ファイルは、Tomcat サーバーのserver.xml や web.xml などの設定ファイルとして使用できます。別の例は、構造体の structs-config.xml ファイル、Hibernate の hibernate.cfg.xml などです。

3.XML は小規模なデータベースとして使用できます

XML ファイルは小規模なデータベースとして使用できますが、これも良い選択です。このプログラムでは、手動で構成する必要があるデータを使用する場合があります。これを読み取るのは適切ではありません。 (これによりデータベースの保守作業が増加するため)、XML を直接使用して小規模なデータベースを構築することを検討できます。この方法でファイルを直接読み取る方が、データベースを読み取るよりも明らかに高速です。たとえば、XML ファイルは、msn にユーザーのチャット記録を保存するために使用されます。

スタートアップケース: XML を使用してクラス情報を記録します。

<?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>
ログイン後にコピー
ログイン後にコピー
ブラウザで開くことができます:


それでは、XML を HTML のように Web ページ上に表示できますか? CSS を使用して変更することも可能ですが、ここでは使用しません。XML を使用してデータを保存するだけで済みます。


この例では、最初の行のエンコードを utf-8 に変更してブラウザで開くと、エラーが報告されます。これはなぜですか?


XML ファイルのデフォルトのエンコーディングは ANSI です。これは、米国規格協会が開発したエンコーディングです。中国では、GB2312 です。 GB2312 エンコーディングを使用する場合、UTF-8 を使用するとエラーが報告されます。

解決策は、XML ファイルを UTF-8 エンコード モードに変更することです。

4.XML構文XML - XML の概要と基本構文

XMLファイルは次の部分に分かれています:

1.文書宣言

2.要素

3.属性
4.コメント

5.CDATA領域、特殊文字

6.処理命令 (処理命令)

4.1. XML 構文 - ドキュメント宣言

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
ログイン後にコピー
ログイン後にコピー
XML 宣言は XML ドキュメントの最初の行に配置されます

XML 宣言は次の部分で構成されます:



バージョン – ドキュメントは準拠しますXML1.0 仕様を使用して、1.0 を学習します
エンコーディング - 「GB2312」や「UTF-8」などのドキュメントの文字エンコーディング
スタンドアロン – ドキュメント定義が独立して使用されるかどうか
デフォルト値はstandalone="no"です。 Yes は独立して使用されることを意味し、No は独立して使用されないことを意味します

4.2. XML 構文 - 要素 (またはタグ、ノード)


(1) 各 XML ドキュメントには

root 要素が 1 つだけ必要です




ルート要素は、ドキュメント内の他のすべての要素を完全に含む要素です

ルート要素の開始タグは、他のすべての要素の開始タグの前に配置する必要があります

の終了タグ他の要素の終了タグの後に配置します

  • (2) XML要素は、XMLファイル内に現れるタグを指します。 タグは開始タグと終了タグに分かれています。

  • タグ本体あり:

  • <a>www.sohu.com</a>
    ログイン後にコピー
    ログイン後にコピー

  • タグ本体なし:

<a></a>,简写为:<a/>
ログイン後にコピー
ログイン後にコピー

(3) 複数のサブタグを 1 つのタグ内にネストすることもできます。ただし、すべてのタグは適切にネストされている必要があり、たとえば
  • <a>welcome to <b> www.sohu.com </a></b>
    ログイン後にコピー
    ログイン後にコピー

    は必ずエラーになります。

    (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 の概要と基本構文

    (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 の概要と基本構文

    但是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. XML が必要な理由

    1. 要件 1
    2 つのプログラム間のデータ通信?
    2. 要件 2
    サーバー プログラムの起動時に、リッスンするポート番号と、データベースに接続するためのユーザー名とパスワードを読み取ります。

    XML 言語では、ユーザーがタグをカスタマイズできます。タグは 1 つのデータを記述するために使用され、タグは開始タグと終了タグに分割され、開始タグと終了タグの間に他のタグを使用してデータの関係を記述できます。 。

    3. XML の一般的な応用例

    1. XML の出現により、プログラム間のデータ送信の問題が解決されました。
    たとえば、QQ 間のデータ送信には、可読性と保守性に優れた XML 形式が使用されます

    2.XML は設定ファイルとして使用できます
    XML ファイルは、Tomcat サーバーのserver.xml や web.xml などの設定ファイルとして使用できます。別の例は、構造体の structs-config.xml ファイル、Hibernate の hibernate.cfg.xml などです。

    3.XML は小規模なデータベースとして使用できます
    XML ファイルは小規模なデータベースとして使用できますが、これも良い選択です。このプログラムでは、手動で構成する必要があるデータを使用する場合があります。これを読み取るのは適切ではありません。 (これによりデータベースの保守作業が増加するため)、XML を直接使用して小規模なデータベースを構築することを検討できます。この方法でファイルを直接読み取る方が、データベースを読み取るよりも明らかに高速です。たとえば、XML ファイルは、msn にユーザーのチャット記録を保存するために使用されます。

    スタートアップケース: XML を使用してクラス情報を記録します。

    <?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>
    ログイン後にコピー
    ログイン後にコピー

    ブラウザで開くことができます:

    XML - XML の概要と基本構文

    それでは、XML を HTML のように Web ページ上に表示できますか? CSS を使用して変更することも可能ですが、ここでは使用しません。XML を使用してデータを保存するだけで済みます。

    この例では、最初の行のエンコードを utf-8 に変更してブラウザで開くと、エラーが報告されます。これはなぜですか?

    XML ファイルのデフォルトのエンコーディングは ANSI です。これは、米国規格協会が開発したエンコーディングです。中国では、GB2312 です。 GB2312 エンコーディングを使用する場合、UTF-8 を使用するとエラーが報告されます。

    解決策は、XML ファイルを UTF-8 エンコード モードに変更することです。

    4.XML構文

    XMLファイルは次の部分に分かれています:
    1.文書宣言
    2.要素
    3.属性
    4.コメント
    5.CDATA領域、特殊文字
    6.処理命令 (処理命令)

    4.1. XML 構文 - ドキュメント宣言

    <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    ログイン後にコピー
    ログイン後にコピー

    XML 宣言は XML ドキュメントの最初の行に配置されます
    XML 宣言は次の部分で構成されます:

    バージョン – ドキュメントは準拠しますXML1.0 仕様を使用して、1.0 を学習します
    エンコーディング - 「GB2312」や「UTF-8」などのドキュメントの文字エンコーディング
    スタンドアロン – ドキュメント定義が独立して使用されるかどうか
    デフォルト値はstandalone="no"です。 Yes は独立して使用されることを意味し、No は独立して使用されないことを意味します

    4.2. XML 構文 - 要素 (またはタグ、ノード)

    (1) 各 XML ドキュメントには root 要素が 1 つだけ必要です

    • ルート要素は、ドキュメント内の他のすべての要素を完全に含む要素です

    • ルート要素の開始タグは、他のすべての要素の開始タグの前に配置する必要があります

    • の終了タグ他の要素の終了タグの後に配置します

    (2) XML要素は、XMLファイル内に現れるタグを指します。 タグは開始タグと終了タグに分かれています。

    • タグ本体あり:

    <a>www.sohu.com</a>
    ログイン後にコピー
    ログイン後にコピー
    • タグ本体なし:

    <a></a>,简写为:<a/>
    ログイン後にコピー
    ログイン後にコピー

    (3) 複数のサブタグを 1 つのタグ内にネストすることもできます。ただし、すべてのタグは適切にネストされている必要があり、たとえば

    <a>welcome to <b> www.sohu.com </a></b>
    ログイン後にコピー
    ログイン後にコピー

    は必ずエラーになります。

    (4) XML タグに含まれるすべてのスペースと改行について、XML パーサーはそれらをタグのコンテンツとして扱います。たとえば、次の 2 つの段落の意味は異なります

    <stu>xiaoming</stu>
    ログイン後にコピー
    ログイン後にコピー

    以下の通り:

    <stu>
        xiaoming</stu>
    ログイン後にコピー
    ログイン後にコピー

    (5) XML ではスペースや改行もオリジナルの内容として処理されるため、XML ファイルを記述する際には特に注意してください。

    (6) 命名規則: XML 要素には文字、数字、その他の表示可能な文字を含めることができますが、次の規則に従う必要があります:

    • では大文字と小文字が区別されます。たとえば、要素 P と要素 p は 2 です。さまざまな要素

    • 数字またはアンダースコア「_」で始めることはできません

    • 要素にスペースを含めることはできません

    • 名前にコロン(:)を含めることはできません

    • 中国語は使用できますが、通常は使用できませんこのように使われます

    4.3.XML语法-属性

    <student id="100">
        <name>Tom</name></student>
    ログイン後にコピー
    ログイン後にコピー

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

    XML - XML の概要と基本構文

    (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 の概要と基本構文

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

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

    语法规范

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

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


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート