ホームページ >バックエンド開発 >XML/RSS チュートリアル >PHP拡張のXML操作(2) - XMLパーサーのインストールと概要
XML (eXtensible Markup Language) は、インターネット上の構造化文書の対話に使用されるデータ形式です。 これは、インターネット協会 (W3C) によって定義された標準です。 XML および関連テクノロジに関する情報は、//m.sbmmt.com/ で参照できます。
この PHP 拡張機能の実装は、James Clark によって PHP で書かれた expat をサポートしています。 このツールキットは XML ドキュメントを解析できます (ただし、検証はできません)。 PHP が提供する 3 つの文字エンコーディング (US-ASCII、ISO-8859-1、および UTF-8) をサポートしています。 UTF-16はサポートされていません。
この拡張機能は XML パーサーを作成し、さまざまな XML イベントの ハンドラー を定義します。 各 XML パーサーには、調整できるいくつかのパラメーターもあります。
この拡張機能には、libxml PHP 拡張機能が必要です。これは、--enable-libxml を使用する必要があることを意味しますが、libxml はデフォルトで有効になっているため、これは暗黙的に行われます。
デフォルトでは、この拡張機能は expat compat レイヤーを使用します。このライブラリは //m.sbmmt.com/ にあります。 expat ライブラリで Makefile を使用しても、デフォルトではライブラリ ファイルはビルドされません。次のビルド ルールを使用してビルドできます。
libexpat.a: $(OBJS) ar -rc $@ $(OBJS) ranlib $@
expat のソース コード RPM インストール パッケージは http:// にあります。 www.php .cn/ が見つかりました。
この拡張機能はデフォルトで有効になっており、コンパイル時に次のオプションを使用して無効にできます: --disable-xml
これらの関数はデフォルトで有効になっており、バンドルされている expat ライブラリを使用します。 XML サポートはパラメーター --disable-xml を使用して無効にできます。 PHP を Apache 1.3.9 以降のモジュールとしてコンパイルすると、PHP は Apache にバンドルされている expat ライブラリを自動的に使用します。バンドルされた expat ライブラリを使用したくない場合は、PHP のconfigure 構成スクリプトを実行するときにパラメータ --with-expat-dir=DIR を使用してください。DIR は expat インストールのルート ディレクトリを指す必要があります。
Windows バージョンの PHP には、この拡張機能のサポートが組み込まれています。これらの機能を使用するために追加の拡張機能をロードする必要はありません。
XML イベントハンドラーは次のように定義されます:
PHP ハンドラー関数 | イベントの説明 |
---|---|
xml_set_element_ handler( ) | 要素イベントがトリガーされるXML パーサーが開始タグまたは終了タグを検出したとき。 開始タグと終了タグには異なるハンドラーがあります。 |
xml_set_character_data_handler() | 文字データ範囲は、タグ間のスペースを含む、XML ドキュメント内のすべてのタグなしコンテンツを指します。 XML パーサーは空白を追加または削除しないことに注意してください。空白が意味があるかどうかはアプリケーション (ユーザー) が判断します。 |
xml_set_processing_instruction_handler() | PHP プログラマーは、処理命令 (PI) に熟練している必要があります。 は処理命令であり、php を「処理命令オブジェクト」と呼びます。 システムによって予約されている「XML」で始まるすべての処理命令オブジェクトを除き、その他の処理関数はアプリケーションプログラムによって指定されます。 |
xml_set_default_handler() | 他の処理関数が実行されていない場合は、デフォルトの処理関数が実行されます。 XML や文書型宣言などの情報は、デフォルトのハンドラー関数で使用できます。 |
xml_set_unparsed_entity_decl_handler() | 未解析エンティティ宣言 (NDATA) は、このハンドラー関数を呼び出します。 |
たとえば、ファイルまたは URL を参照します。例は、XML 外部エンティティ ルーチンにあります。 |