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

通过PHP操作XML入门

WBOY
풀어 주다: 2016-06-13 10:36:15
원래의
900명이 탐색했습니다.


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">
}
?>

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿