Home >php教程 >php手册 >通过PHP操作XML入门

通过PHP操作XML入门

WBOY
WBOYOriginal
2016-06-13 10:36:15902browse


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等。

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

$url = "http://www.BkJia.com/data/rss/37.xml";
$r =& new XML_RSS($url);
$r->parse();
$items = $r->getItems()
foreach ($items as $k=>$item)
{
//$item里面包含了 link:内容链接;title:内容标题;description:内容描述;pubdate:内容表布日期,视站点而定,不一定提供
?>
" target="_blank">
}
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn