PHP 開(kāi)発の基本チュートリアル: PHP XML Expat パーサー
1. XML とは
XML はデータを記述するために使用され、その焦點(diǎn)はデータの內(nèi)容です。 XML ファイルはデータの構(gòu)造を記述します。
XML には、事前定義されたタグはありません。獨(dú)自のタグを定義する必要があります。
XML について詳しくは、XML チュートリアルをご覧ください。
2. Expat とは
XML ドキュメントの読み取りと更新、作成、処理を行うには、XML パーサーが必要です。
XML パーサーには 2 つの基本的なタイプがあります:
ツリーベースのパーサー: このパーサーは XML ドキュメントをツリー構(gòu)造に変換します。ドキュメント全體を分析し、ドキュメント オブジェクト モデル (DOM) などのツリー內(nèi)の要素へのアクセスを提供します。
イベントベースのパーサー: XML ドキュメントを一連のイベントとして扱います。特定のイベントが発生すると、パーサーはそれを処理する関數(shù)を呼び出します。
Expat パーサーはイベントベースのパーサーです。
イベントベースのパーサーは、XML ドキュメントの構(gòu)造ではなくコンテンツに焦點(diǎn)を當(dāng)てます。このため、イベントベースのパーサーはツリーベースのパーサーよりも高速にデータにアクセスできます。
次の XML フラグメントをご覧ください:
<from>Jani</from>
イベントベースのパーサーは、上記の XML を一連の 3 つのイベントとして報(bào)告します:
開(kāi)始要素: from
CDATA セクションの開(kāi)始、値: Jani
終了要素: from
上記の XML の例には、整形式の XML が含まれています。ただし、このインスタンスには関連付けられた文書型宣言 (DTD) がないため、無(wú)効な XML です。
ただし、Expat パーサーを使用する場(chǎng)合には違いはありません。 Expat は、有効性をチェックせず、DTD を無(wú)視するパーサーです。
イベントベースの非検証 XML パーサーとして、Expat は高速かつ軽量であるため、PHP Web アプリケーションに非常に適しています。
注: XML ドキュメントは適切な形式である必要があります。そうでない場(chǎng)合、Expat はエラーを生成します。
3. インストール
XML Expat パーサー関數(shù)は、PHP コアの不可欠な部分です。これらの機(jī)能を使用するためにインストールは必要ありません。
4. XML パーサー
PHP で XML パーサーを初期化し、さまざまな XML イベントのハンドラーを定義して、この XML ファイルを解析する必要があります。例:
コードは次のとおりです:<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
注: ここの test.xml ファイルは、このセクションの 4 番目の部分の內(nèi)容です
6. PHP Expat パーサーの詳細(xì)
PHP Expat 関數(shù)の詳細(xì)については、PHP XML パーサー リファレンス マニュアルを參照してください。