PHP で XML データを処理する場合は、データを抽出するための XML ライブラリが必要になります。例には、RSS フィードの解析やパターン マッチング (XHTML 画像や要素の検索) が含まれます。
SimpleXML 拡張機能は、非常に直感的な API を提供し、XML をオブジェクトに変換し、要素を走査することを容易にします。唯一の欠点は、ドキュメント全体をメモリにロードするか、非常に大きな XML ファイルをロードするとパフォーマンスの問題が発生する可能性があることです。
パフォーマンスを考慮する場合は、XMLReader を選択できます。 XMLReader は、ロード プロセス中に各ノードを反復処理するのではなく、ドキュメント全体をメモリにロードする XML パーサーです。
以下のコードは、単純な XML を使用して、私の Web サイトから最新の RSS を取得します。私のサーバーでは、サーバー ホスティングをサポートし、より安全であるため、HTTP 接続を処理するために Curl ライブラリを使用しました。
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><?</span><span class="tag-name">php</span><span> </span></span></li><li><span> </span></li><li class="alt"><span>function load_file($url) { </span></li><li><span>$</span><span class="attribute">ch</span><span> = </span><span class="attribute-value">curl_init</span><span>($url); </span></li><li class="alt"><span>#Return http response in string </span></li><li><span>curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); </span></li><li class="alt"><span>$</span><span class="attribute">xml</span><span> = </span><span class="attribute-value">simplexml_load_string</span><span>(curl_exec($ch)); </span></li><li><span>return $xml; </span></li><li class="alt"><span>} </span></li><li><span> </span></li><li class="alt"><span>$</span><span class="attribute">feedurl</span><span> = </span><span class="attribute-value">'http://naveenbalani.com/index.php/feed/'</span><span>; </span></li><li><span>$</span><span class="attribute">rss</span><span> = </span><span class="attribute-value">load_file</span><span>($feedurl); </span></li><li class="alt"><span> </span></li><li><span>foreach ($rss-</span><span class="tag">></span><span>channel-</span><span class="tag">></span><span>item as $item) { </span></span></li> <li class="alt"> <span>echo "</span><span class="tag"><</span><span class="tag-name">h2</span><span class="tag">></span><span>" . $item-</span><span class="tag">></span><span>title . "</span><span class="tag"></</span><span class="tag-name">h2</span><span class="tag">></span><span>"; </span> </li> <li> <span>echo "</span><span class="tag"><</span><span class="tag-name">p</span><span class="tag">></span><span>" . $item-</span><span class="tag">></span><span>description . "</span><span class="tag"></</span><span class="tag-name">p</span><span class="tag">></span><span>"; </span> </li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"> <span class="tag">?></span><span> </span> </li> </ol>
http://css.dzone.com/news/parsing-xml-data-php