最新のWeb開発のチュートリアル
×

PHP チュートリアル

PHP HOME PHP イントロ PHP インストール PHP 構文 PHP 変数 PHP エコー/印刷 PHP データの種類 PHP ストリング PHP 定数 PHP 演算子 PHP If...Else...Elseif PHP Switch PHP whileループ PHP Forループ PHP 機能 PHP 配列 PHP 配列のソート PHP スーパーグローバル

PHP 取り扱い

PHP フォーム 取り扱い PHP フォーム 検証 PHP フォーム 必須 PHP フォーム URL/E-mail PHP フォーム コンプリート

PHP 高度な

PHP 多次元配列 PHP 日時 PHP 含めます PHP ファイル 取り扱い PHP ファイル オープン/読みます PHP ファイル 作成/書きます PHP ファイル アップロード PHP Cookies PHP Sessions PHP フィルター PHP Filters 高度な PHP エラー 取り扱い PHP 例外

MySQL Database

MySQL データベース MySQL 接続 MySQL Create DB MySQL Create 表 MySQL Insert Data MySQL 最後のIDを取得します MySQL 複数の挿入 MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML パーサー PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX イントロ AJAX PHP AJAX データベース AJAX XML AJAX ライブ検索 AJAX RSSリーダー AJAX 世論調査

PHP Examples

PHP 例 PHP クイズ PHP 証明書

PHP 参照

PHP アレイ PHP カレンダー PHP 日付 PHP ディレクトリ PHP エラー PHP ファイルシステム PHP フィルタ PHP FTP PHP HTTP PHP Libxml PHP 郵便物 PHP 数学 PHP その他 PHP MySQLiを PHP SimpleXML PHP 文字列 PHP XML PHP Zip PHP 時間帯

 

PHP XMLパーサ進出


組み込みのXMLパーサExpatのは、PHPでXML文書を処理することが可能になります。


XMLパーサ進出

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

次のXML画を見てください:

<from>Jani</from>

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

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

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


XMLファイル

XMLファイル"note.xml"以下の例で使用されます。

<?xml version="1.0" encoding="UTF-8"?>
<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("note.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);
?>
»実行例

例を説明します:

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

より多くのPHPのXMLパーサ進出

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