如果你計劃在PHP中處理XML數據,就需要一個XML庫為你提取數據。例如解析RSS feed或是模式匹配(尋找XHTML圖像或是元素)。
SimpleXML擴展提供了一個非常直觀的API,更容易將XML轉換成對象和遍歷元素。唯一的缺點就是在內存中加載整個文檔或是非常大的XML文件,它的性能可能是一個問題。
如果性能是一個考慮因素,你可以去使用XMLReader。XMLReader是一個XML解析器,它通過在加載過程中遍歷每個節點,在而不是在內存中加載整個文檔。
下面的代碼使用簡單的XML可以從我的網站獲取最新的RSS。在我的服務器上,我已經使用Curl庫處理HTTP連接,因為它支持服務器托管並且更安全。
- <?php
- function load_file($url) {
- $ch = curl_init($url);
- #Return http response in string
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- $xml = simplexml_load_string(curl_exec($ch));
- return $xml;
- }
- $feedurl = 'http://naveenbalani.com/index.php/feed/';
- $rss = load_file($feedurl);
- foreach ($rss->channel->item as $item) {
- echo "<h2>" . $item->title . "</h2>";
- echo "<p>" . $item->description . "</p>";
- }
- ?>
http://css.dzone.com/news/parsing-xml-data-php