目次
1. 概要とインストール
2. イベントハンドラー
3. 大文字変換
4. エラー コード
ホームページ バックエンド開発 XML/RSS チュートリアル PHP拡張のXML操作(2) - XMLパーサーのインストールと概要

PHP拡張のXML操作(2) - XMLパーサーのインストールと概要

Feb 13, 2017 pm 02:53 PM
PHP拡張子 パーサー



1. 概要とインストール

XML (eXtensible Markup Language) は、インターネット上の構造化文書の対話に使用されるデータ形式です。 これは、インターネット協会 (W3C) によって定義された標準です。 XML および関連テクノロジに関する情報は、http://www.php.cn/ で参照できます。

この 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 レイヤーを使用します。このライブラリは http://www.php.cn/ にあります。 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 には、この拡張機能のサポートが組み込まれています。これらの機能を使用するために追加の拡張機能をロードする必要はありません。

2. イベントハンドラー

XML イベントハンドラーは次のように定義されます:

3. 大文字変換

要素処理関数は、要素名を大文字(大文字)形式に変換することができます。大文字と小文字の区別は、「大文字以外の文字を対応する大文字に置き換える文字列操作」として定義されます。つまり、XML では、大文字と小文字の区別は大文字に変換することです。

デフォルトでは、処理関数を介して渡されるすべての要素名は大文字に変換されます。各 XML パーサーは、それぞれ xml_parser_get_option() 関数および xml_parser_set_option() 関数を通じてこの関数をクエリおよび制御できます。

4. エラー コード

次の定数は、XML 関連のエラー コード (xml_parse() 関数の戻り値) です:

  • XML_ERROR_NONE

  • XML_ERROR_NO_MEMORY

  • XML_ERR OR_SYNTAX

  • XML_ERROR_NO_ELEMENTS XML_ERROR_INVALID_TOKEN

  • XML_ERROR_UNCLOSED_TOKENTOKEN

  • XML_ERROR_PARTIAL_CHAR

  • エラーML_ERROR_ASYNC_ENTITY

  • XML_ERROR_BAD_AR_REF

  • XML_ERROR_ENTITY_REF

  • XML_ERROR_ATTRIBUTE_EXT_Extity_Ref

  • xml_ERROR_MISPLED_PI

  • XML_UNKNOWN_ENCOD ING

  • Xml_error_incorrect_encoding

  • xml_error_unclosed_cdata_section

  • xml_error_extRNAL_ENTITY_HANDLING

  • 、文字コーディング

  • XML 拡張子Unicode 文字セットは、いくつかの異なる文字エンコーディングを通じてサポートされています。 文字エンコーディングには、オリジナル エンコーディングとターゲット エンコーディングの 2 種類があります。PHP の内部プレゼンテーションでは、ドキュメントは常に UTF-8 でエンコードされます。
  • XML が解析されると、元のエンコードが完了します。 XML パーサーを作成するときに、元のエンコーディングを指定できます (このエンコーディングは、XML パーサーのライフサイクルの後半で変更することはできません)。 サポートされている RAW エンコーディングは ISO-8859-1、US-ASCII、および UTF-8 です。最初の 2 つはシングルバイト エンコーディングです。つまり、各文字は 1 バイトとして表されます。 UTF-8 は、文字を 1 ~ 4 バイトに配置された一連の可変数 (最大 21) のビットにエンコードできます。 PHP で使用されるデフォルトの raw エンコーディングは ISO-8859-1 です。

  • PHP がデータを XML 処理関数に渡すと、ターゲットのエンコーディングが完了します。 XML プロセッサを作成するとき、ターゲット エンコーディングは元のエンコーディングと同じに設定されますが、自由に変更できます。 ターゲットのエンコードは、処理命令のターゲットだけでなく、文字データとタグ名にも影響します。
  • XML パーサーは、元のエンコーディングが表現できる範囲外の文字を検出すると、エラーを返します。

  • PHP が解析された XML ドキュメント内で、指定されたターゲット エンコーディングで表現できない文字を検出した場合、問題の文字は「ダウングレード」されます。通常、これらの文字は疑問符 (?) に置き換えられます。
  • 上記は、PHP 拡張機能の XML 操作 (2) - XML パーサーのインストールと概要です。詳細については、PHP 中国語 Web サイト (www.php.cn) をご覧ください。

サポートされる 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 外部エンティティ ルーチンにあります。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでどの拡張子が使用されているかを確認する方法 PHPでどの拡張子が使用されているかを確認する方法 Aug 01, 2023 pm 04:13 PM

PHP で使用されている拡張子を確認するには、phpinfo() 関数の出力を表示し、コマンド ライン ツールを使用して、PHP 構成ファイルを確認します。 1. phpinfo() 関数の出力を表示し、単純な PHP スクリプトを作成し、このスクリプトを phpinfo.php として保存し、Web サーバーにアップロードします。ブラウザでこのファイルにアクセスし、ブラウザの検索機能を使用します。キーワードを探すだけです。ページ上の「extension」または「extension_loaded」で拡張機能に関する情報を見つけます。

.mdi ファイルとは何ですか? .mdi ファイルとは何ですか? Feb 18, 2024 pm 01:13 PM

MDI ファイルは一般的な電子ドキュメント形式で、正式名は Microsoft Document Imaging です。これは、スキャンされたドキュメントを保存および表示するために Microsoft Corporation によって開発されたファイル形式です。 MDI ファイルを使用すると、ユーザーは紙の文書をスキャンしてデジタル画像にし、コンピューターから表示、編集、印刷できるようになります。 MDI ファイルには多くの利点がありますが、その 1 つは圧縮率の高さです。 MDI ファイルは、スキャンした画像を最小のファイル サイズで保存できるため、ドキュメントの保存と送信に非常に役立ちます。第二に

php を使用して PDO を拡張し、Oracle データベースに接続する方法 php を使用して PDO を拡張し、Oracle データベースに接続する方法 Jul 29, 2023 pm 07:21 PM

PHP を使用して PDO を拡張し、Oracle データベースに接続する方法 はじめに: PHP は非常に人気のあるサーバー側プログラミング言語であり、Oracle は一般的に使用されるリレーショナル データベース管理システムです。この記事では、PHP 拡張機能 PDO (PHPDataObjects) を使用して Oracle データベースに接続する方法を紹介します。 1. PDO_OCI 拡張機能のインストール Oracle データベースに接続するには、まず PDO_OCI 拡張機能をインストールする必要があります。 PDO_OCI 拡張機能をインストールする手順は次のとおりです。

PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 Jul 19, 2023 am 10:27 AM

PHP を使用して SuiteCRM のレポート生成機能を拡張する方法 SuiteCRM は、企業が顧客関係を管理するのに役立つ豊富な機能を提供する強力なオープンソース CRM システムです。重要な機能の 1 つはレポート生成であり、レポートを使用することにより、企業はビジネス状況をより深く理解し、正しい意思決定を行うことができます。この記事では、PHP を使用して SuiteCRM のレポート生成機能を拡張する方法と、関連するコード例を紹介します。開始する前に、SuiteCRM がインストールされていることを確認する必要があります。

PHP 入門: PHP 拡張機能のインストール PHP 入門: PHP 拡張機能のインストール May 20, 2023 am 08:49 AM

PHP を使用して開発する場合、いくつかの PHP 拡張機能を使用する必要がある場合があります。これらの拡張機能により、より多くの機能とツールが提供され、開発作業がより効率的かつ便利になります。ただし、これらの拡張機能を使用する前に、まずインストールする必要があります。この記事では、PHP 拡張機能をインストールする方法を紹介します。 1. PHP 拡張機能とは何ですか? PHP 拡張機能は、PHP プログラミング言語に追加の機能とサービスを提供するコンポーネントを指します。これらのコンポーネントは、PHP の拡張メカニズムを通じてインストールして使用できます。 PHP 拡張機能が役立つ

PHP の geoip 拡張機能を使用するにはどうすればよいですか? PHP の geoip 拡張機能を使用するにはどうすればよいですか? Jun 01, 2023 am 09:13 AM

PHP は、Web ページ上の動的コンテンツを処理できる一般的なサーバー側スクリプト言語です。 PHP の geoip 拡張機能を使用すると、PHP でユーザーの位置に関する情報を取得できます。この記事では、PHP の geoip 拡張機能の使用方法について説明します。 PHP の GeoIP 拡張機能とは何ですか? PHP の geoip 拡張機能は、IP アドレスと位置情報に関するデータを取得できる無料のオープンソース拡張機能です。この拡張機能は、MaxMin によって開発されたデータベースである GeoIP データベースで使用できます。

PHP 拡張機能と Pagoda パネルの PHP バージョン管理 PHP 拡張機能と Pagoda パネルの PHP バージョン管理 Jun 21, 2023 am 08:49 AM

Pagoda Panel はオープンソースのサーバー管理パネルで、Web サイト運営者に便利な Web サイト管理、データベース管理、SSL 証明書管理などのサービスを提供するとともに、強力な PHP 拡張機能と PHP バージョン管理機能も提供し、サーバー管理を容易にします。効率的。 1. PHP 拡張機能 PHP 拡張機能は、PHP の機能を拡張するためのモジュールです。PHP 拡張機能をインストールすることで、次のような機能やサービスを実装できます。

PHP 拡張機能開発の徹底調査: PHP 拡張機能開発の舞台裏の秘密を明らかにする PHP 拡張機能開発の徹底調査: PHP 拡張機能開発の舞台裏の秘密を明らかにする Feb 19, 2024 pm 11:40 PM

PHP 拡張機能の開発は、カスタム機能を作成し、PHP コア機能を拡張し、より強力なアプリケーションを構築する技術です。これは PHP の世界に新たな可能性をもたらし、開発者が言語の基本的な制限を超えることができるようにします。この記事では、PHP 拡張機能の開発の旅へお連れし、基本的な概念から高度なテクニックまで、包括的な知識と実践的なガイダンスを提供します。 PHP 拡張機能開発の基本 PHP 拡張機能開発を開始する前に、いくつかの基本概念を理解する必要があります。 PHP拡張機能とは何ですか? PHP 拡張機能は、PHP のコア機能を拡張し、新しいデータ型、関数、クラスを提供するダイナミック リンク ライブラリ (DLL) です。 PHP 拡張機能の利点 PHP 拡張機能には、スケーラビリティ、柔軟性、パフォーマンスの最適化、コードの再利用など、多くの利点があります。 PHP

See all articles