如果你计划在php中处理xml数据,就需要一个xml库为你提取数据。例如解析rss feed或是模式匹配(寻找xhtml图像或是元素)。
SimpleXML扩展提供了一个非常直观的API,更容易将XML转换成对象和遍历元素。唯一的缺点就是在内存中加载整个文档或是非常大的XML文件,它的性能可能是一个问题。
如果性能是一个考虑因素,你可以去使用XMLReader。XMLReader是一个XML解析器,它通过在加载过程中遍历每个节点,在而不是在内存中加载整个文档。
下面的代码使用简单的XML可以从我的网站获取最新的RSS。在我的服务器上,我已经使用Curl库处理HTTP连接,因为它支持服务器托管并且更安全。
<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></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
立即学习“PHP免费学习笔记(深入)”;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号