ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルで XML データを読み取る

php_PHP チュートリアルで XML データを読み取る

WBOY
WBOYオリジナル
2016-07-20 11:04:16909ブラウズ

概要: 今日、仕事で問題が発生しました。プロジェクト データが小さすぎるため、Web 検索からデータを借用する必要があります。提供されるのは XML インターフェイスだけです。したがって、xml データを html に変換して全員に提示する必要があります。プロジェクトは PHP に基づいているため、JS を使用して XML を読み取ることを放棄し、PHP を引き続き使用することにしました。しかし、私はこれまでそのような試みをしたことがなかったので、多くのオンライン情報を検索し、PHP の作業マニュアルを参照したところ、PHP4 環境でパーサー関数を使用することがより良い選択であることがわかりました (もちろん DOM を使用することもできます)。ただし、サーバーが再構成され、php5 が DOM をより適切にサポートする必要があります)。
私はこれまでこの種の問題に遭遇したことがありませんでしたが、すぐに解決されました。しかし、解決と探索の過程で、この種の情報についてはインターネット上にたくさんあるにもかかわらず、それが問題であることがわかりました。多くの説明はあまり詳細ではありませんが、それでもマニュアルの方が役に立ちます。
さて、本題に入りましょう:
parser は、XML を処理するために PHP に組み込まれたパーサーであり、その動作は開始タグ、データの読み取り、終了タグの 3 つのイベントで構成されます。
つまり、XML を処理するときに、開始タグ、データ、および終了タグが検出されるたびに、関数は対応するアクションを実行して XML データの変換を完了します。
PHP での XML 読み取り関連関数の紹介:
引用:
--------------------------------- --- --------------------------------------------
オブジェクト XML 解析関数の説明
要素 xml_set_element_handler() 要素の開始と終了
文字データ xml_set_character_data_handler() 文字データの開始
外部エンティティ xml_set_external_entity_ref_handler() 外部エンティティの出現
未解析の外部エンティティ xml_set_unparsed_entity_decl_handler() 未解析の外部エンティティの出現
命令 xml_set _processing_instruction_handler () の発生処理命令
表記法宣言 xml_set_notation_decl_handler() 表記法宣言の発生
デフォルト xml_set_default_handler() ハンドラー関数を指定しないその他のイベント
----------- ---------- -------------------------------------- ---------- -----------
次に、パーサー関数を使用して XML データを読み取る簡単な例を示します。
$parser = xml_parser_create (); //parserEdit を作成します
xml_set_element_handler($parser, "startElement", "endElement");// タグがトリガーされたときに対応する関数を設定します
xml_set_character_data_handler($parser, " CharacterData");//データを読み取る際の関数を設定します。対応する関数
$xml_file="1.xml";//読み取る XML ファイルを指定します。URL も指定できます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445205.html技術記事概要: 今日、仕事で問題が発生しました。プロジェクト データが小さすぎるため、Web 検索からデータを借用する必要がありました。提供されたのは XML インターフェイスのみでした。したがって、私たちは...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。