PHP cURL を使用した XML 応答の抽出
PHP では、cURL を利用してサーバーからデータを取得できます。ただし、応答が XML 形式の場合、出力はスカラー変数に格納される可能性があるため、解析が困難になります。これに対処するには、XML 応答をオブジェクト、ハッシュ、または配列に変換して操作を簡単にすることが有益です。
次のコードを考えてみましょう。
<code class="php">function download_page($path){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$path); curl_setopt($ch, CURLOPT_FAILONERROR,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $retValue = curl_exec($ch); curl_close($ch); return $retValue; } $sXML = download_page('http://alanstorm.com/atom'); $oXML = new SimpleXMLElement($sXML); foreach($oXML->entry as $oEntry){ echo $oEntry->title . "\n"; }</code>
このコードでは、download_page 関数エラー、リダイレクト、タイムアウトを適切に処理するためのさまざまなオプションを使用して、cURL を使用して指定された URL から XML ドキュメントを取得します。結果は $sXML 変数に保存されます。
XML 応答をオブジェクトに変換するには、SimpleXMLElement クラスが使用されます。このクラスは、XML ドキュメントの個々の要素と属性に直接アクセスするためのメソッドを提供します。この例では、ドキュメント内のエントリを繰り返し処理し、そのタイトルを出力します。
XML 応答をオブジェクトに解析することにより、それに含まれるデータへのアクセスと操作が大幅に容易になり、開発者は特定のデータを抽出できるようになります。情報を収集し、効果的に処理します。
以上がSimpleXMLElement を使用して PHP で cURL からの XML 応答を解析する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。