当前位置: 首页 > 图文教程 > 网络编程 > PHP > 使用技巧:如何用PHP来解析XML文档

PHP
用PHP实现Ftp用户的在线管理
用PHP实现分段下载
最令PHP初学者头痛的十四个问题
用PHP写的MD5加密函数
PHP应用程序加速探索之简介
将SSH与PHP相连接 确保传输数据的安全
PHP制作的仿百度的站内搜索引擎代码
PHP读取汉字点阵数据
PHP实现任意字符集下正常显示网页的方法
利用PHP的OOP特性实现数据保护
关于PHP字符集的问题
新手入门:IIS6环境下的PHP最佳配置方法
新手入门:初学动态网页PHP的18个例子
基于PHP的AJAX技术实现文件异步上传
PHP技巧--通过COM使用ADODB
PHP技巧:正确理解PHP程序编译时的错误信息
PHP技巧:分析利用PHP制作新闻系统的步骤
PHP技巧:通过实例深入剖析require和include的用法
PHP技巧:优化动态网页技术PHP程序的12条技巧
PHP技巧:使用APC缓存优化PHP程序

使用技巧:如何用PHP来解析XML文档


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 40 ::
收藏到网摘: n/a

搞了一天还是这个好(pear,XML_parse, XML_RSS)

PHP PEAR就提供一个RSS解析类,方便从用户提供的RSS中,获得相应的信息。

    需求
   下载XML_RSS: http://pear.php.net/package/XML_RSS
   XML_Parser      http://pear.php.net/package/XML_Parser
   PEAR                  http://pear.php.net/package/PEAR

   具体路径之间的关系,稍微调试一下即可,我是把压缩包解压后,把里面的RSS.php,Parser.php,PEAR.php都放在同一目录下,然后把RSS.php里面的
require_once 'XML/Parser.php';
改成
require_once 'XML/Parser.php';
就可以使用了。

     RSS版本
    经简单的测试,我发现它对RSS上述的三个主要版本,都工作的很好,没有出现问题。说明它是至少支持RSS主要版本的(0.91,1.0,2.0)

    例子
    用XML_RSS来分析RSS是特别简单的。先包含进类文件:
    require "RSS.php";

    根据资源地址创建类实例:
   $url = "test.rss";
    $r =& new XML_RSS($url);

    当然这里的$url也可以是一个远程路径,这需要把php.ini里的allow_url_fopen设为On,因为它默认设置即为此,所以一般不用改。

     执行分析:
     $r->parse();  

  下面就可以得到各种信息了:
  $r->getStructure()    返回是一个数组,包含了RSS文件的所有结构信息。
  $r->getChannelInfo()  返回是一个数组,包含了RSS当前频道的概要信息,比如title,link,description等。
  $r->getItems()  返回一个二维数组,包含了RSS文件里的所有item信息,每组信息里都有title,link,description,date等等。
 $r->getImages()  返回一个二维数组,包含了RSS文件里的所有image信息,每组信息里都有title,link,url等。
 $r->getTextinputs() 返回一个二组数组,包含了RSS文件里的所有文件输入区域信息,每组信息里都有title,link,description,name等。

 如何根据一个地址打印内容列表

   <?php
  $url = "http://blog.wangyou.com/rss/index.php";
 $r =& new XML_RSS($url);
 $r->parse();
 $items = $r->getItems()

 foreach ($items as $k=>$item)
 {
//$item里面包含了 link:内容链接;title:内容标题;description:内容描述;pubdate:内容表布日期,视站点而定,不一定提供
 ?>
 <div style="width:500px"><a href="<?=$item["link"]?>" target="_blank"><?=$item["title"]?></a></div>
 <?
 }
 ?>