ホームページ > バックエンド開発 > PHPの問題 > XML Expat とは何かご存知ですか?彼はそれをどのように定義していますか?

XML Expat とは何かご存知ですか?彼はそれをどのように定義していますか?

慕斯
リリース: 2023-03-10 07:38:01
オリジナル
2222 人が閲覧しました

前回の記事「PHP MySQLをデータ接続に使うには?」をご紹介しました。 》ということで、この記事では引き続き PHP XML Expat について紹介していきますが、XML に興味はありますか?それでは一緒に見に行きましょう! ! !

XML Expat とは何かご存知ですか?彼はそれをどのように定義していますか?

XML とは:

XML はデータを記述するために使用され、その焦点は、データは。 XML ファイルはデータの構造を記述します。 PHP XML EXPAT。

XML には事前定義されたタグはなく、独自のタグを定義する必要があります。

エクスパットとは何ですか?

XML ドキュメントの読み取りと更新、作成、処理を行うには、XML パーサーが必要です。

XML パーサーには 2 つの基本的なタイプがあります。

ツリーベースのパーサー: このパーサーは、XML ドキュメントをツリー構造に変換します。ドキュメント全体を分析し、ドキュメント オブジェクト モデル (DOM) などのツリー内の要素へのアクセスを提供します。

イベントベースのパーサー: XML ドキュメントを一連のイベントとして扱います。特定のイベントが発生すると、パーサーはそれを処理する関数を呼び出します。

Expat パーサーはイベントベースのパーサーです。

イベントベースのパーサーは、XML ドキュメントの構造ではなくコンテンツに焦点を当てます。このため、イベントベースのパーサーはツリーベースのパーサーよりも高速にデータにアクセスできます。

次の XML フラグメントを参照してください:

<from>Jani</from>
ログイン後にコピー

開始要素: from

開始 CDATA セクション、値: Jani

終了要素: from

上記の XML の例には、整形式の XML が含まれています。ただし、このインスタンスには関連付けられた文書型宣言 (DTD) がないため、無効な XML です。

ただし、Expat パーサーを使用する場合には違いはありません。 Expat は、有効性をチェックせず、DTD を無視するパーサーです。

イベントベースの非検証 XML パーサーとして、Expat は高速かつ軽量であるため、PHP Web アプリケーションに最適です。

注: XML ドキュメントは適切な形式である必要があります。そうでない場合、Expat はエラーを生成します。

インストール:

XML Expat パーサー関数は、PHP コアの不可欠な部分です。これらの機能を使用するためにインストールは必要ありません。

XML ファイル

この例では次の XML ファイルが使用されます:



Tove
<from>Jani</from>
Reminder
Don't forget me this weekend!
ログイン後にコピー

XML パーサーの初期化

us To PHP で XML パーサーを初期化し、さまざまな XML イベントのハンドラーを定義して、XML ファイルを解析します。

具体的なコードは次のとおりです:

<?php
//Initialize the XML parser
$parser=xml_parser_create();
//Function to use at the start of an element
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Note --<br>";
    break;
    case "TO":
    echo "To: ";
    break;
    case "FROM":
    echo "From: ";
    break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":
    echo "Message: ";
    }
  }
//Function to use at the end of an element
function stop($parser,$element_name)
  {
  echo "<br>";
  }
//Function to use when finding character data
function char($parser,$data)
  {
  echo $data;
  }
//Specify element handler
xml_set_element_handler($parser,"start","stop");
//Specify data handler
xml_set_character_data_handler($parser,"char");
//Open XML file
$fp=fopen("test.xml","r");
//Read data
while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or 

  die (sprintf("XML Error: %s at line %d", 

  xml_error_string(xml_get_error_code($parser)),

  xml_get_current_line_number($parser)));
  }
//Free the XML parser
xml_parser_free($parser);
?>
ログイン後にコピー

上記のコードは出力します:

XML Expat とは何かご存知ですか?彼はそれをどのように定義していますか?

## 推奨学習: 「

PHP ビデオ チュートリアル」

以上がXML Expat とは何かご存知ですか?彼はそれをどのように定義していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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