Latest web development tutorials
×

PHP コース

PHP コース PHP 簡単な紹介 PHP インストール PHP 文法 PHP 変数 PHP echo/print PHP データの種類 PHP 定数 PHP 文字列 PHP 演算子 PHP If...Else PHP Switch PHP 配列 PHP 配列のソート PHP スーパーグローバル PHP While 循環 PHP For 循環 PHP 関数 PHP マジック変数 PHP 名前空間 PHP オブジェクト指向の

PHP フォーム

PHP フォーム PHP フォーム認証 PHP フォーム - 必要なフィールド PHP フォーム - 確認メールおよびURL PHP 完全なフォームインスタンス PHP $_GET 変数 PHP $_POST 変数

PHP 応用チュートリアル

PHP 多次元配列 PHP 日付 PHP 含みます PHP ファイル PHP ファイルのアップロード PHP Cookie PHP Session PHP E-mail PHP セキュリティ E-mail PHP Error PHP Exception PHP フィルタ PHP 高度なフィルタ PHP JSON

PHP 7 新機能

PHP 7 新機能

PHP データベース

PHP MySQL 簡単な紹介 PHP MySQL 接続 PHP MySQL データベースの作成 PHP MySQL データテーブルを作成します。 PHP MySQL データを挿入 PHP MySQL 複数のデータの挿入 PHP MySQL プリペアドステートメント PHP MySQL データを読みます PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX 簡単な紹介 AJAX PHP AJAX データベース AJAX XML AJAX 実時間探索 AJAX RSS Reader AJAX 投票

PHP リファレンスマニュアル

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP 画像処理 PHP RESTful

PHP XML Expatのパーサ

組み込みPHP進出パーサXML文書を処理することができます。


XMLとは何ですか?

XMLは、データを記述するために、どのようなデータはいに焦点を当てるために使用されます。 XMLファイルは、データの構造を記述します。

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

XMLの詳細については、私たちをご覧くださいXMLのチュートリアルを


何進出はい?

読み取りおよび更新するには - の作成とプロセス - XMLドキュメントを、あなたはXMLパーサーが必要です。

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

  • ツリーベースのパーサー:このパーサはツリー構造にXML文書を変換します。 これは、文書全体を解析し、そのようなドキュメントオブジェクトモデル(DOM)のように、ツリー内の要素へのアクセスを提供します。
  • イベントベースのパーサー:XMLドキュメントの一連のイベントとして。 特定のイベントが発生すると、パーサは処理する関数を呼び出します。

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

イベントベースのパーサー、XML文書の内容に焦点を当てるのではなく、その構造。 このため、イベントベースのパーサーは、ツリーベースのパーサーよりも高速のデータにアクセスすることができます。

次のXMLフラグメントを考えてみます。

<from>Jani</from>

イベントベースのパーサーは、3つのイベントのシリーズとして、上記のXMLを報告します。

  • 要素を起動しますから
  • スタートCDATAセクション、値:ヤニ
  • 閉じる要素:から

上記のXMLの例では、整形式のXMLが含まれています。 文書型宣言(DTD)は、それに関連付けられていないので、しかし、この例では、有効なXMLではありません。

Expatのパーサを使用している場合しかし、これは違いはありません。 Expatのパーサーは、任意のDTDを無視し、有効性がチェックされていません。

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

注:XML文書は整形式でなければならない、そうでなければ進出はエラーを生成します。


インストール

XML Expatのパーサ関数は、PHPのコアの一部です。 いいえ、インストールは、これらの関数を使用する必要はありません。


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>


XMLパーサーを初期化します

私たちは、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);
?>

意志出力上のコード:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!

どのように動作します:

  1. xml_parser_createによって()関数は、XMLパーサーを初期化します
  2. 別のイベントハンドラ関数で作成します。
  3. パーサーが開始タグと終了タグに遭遇したときに実行するように機能する、定義するxml_set_element_handler()関数を追加します。
  4. パーサは文字データを検出したときに実行するように機能する、定義するxml_set_character_data_handler()関数を追加します。
  5. xml_parse()関数によってファイル」のtest.xml」を解析します
  6. エラーがある場合には、そのXMLエラーテキストの説明を変換するxml_error_string()関数を追加
  7. xml_parser_create()関数メモリに割り当てられて解放するためにxml_parser_free()関数を呼び出します

詳細については、PHP Expatのパーサ

PHP Expatの機能の詳細については、私たちの訪問PHP XMLパーサーのリファレンスマニュアルを