首页  >  文章  >  后端开发  >  解析PHP中的XML数据_PHP教程

解析PHP中的XML数据_PHP教程

WBOY
WBOY原创
2016-07-22 09:02:201008浏览

如果你计划在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 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></span>
</li>
<li>
<span>echo "</span><span class="tag"><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></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


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445843.htmlTechArticle如果你计划在PHP中处理XML数据,就需要一个XML库为你提取数据。例如解析RSS feed或是模式匹配(寻找XHTML图像或是元素)。 SimpleXML扩展提供了一...
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn