RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。
本文实例为大家分享了php ajax异步读取rss文档数据的相关代码,供大家参考,具体内容如下
代码如下:
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
< html >
< head >
< script >
function showRSS(str) {
if (str.length==0) {
document.getElementById("output").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("output").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","rss.php?q="+str,true);
xmlhttp.send();
}
</ script >
</ head >
< body >
< p >Please Select an option to get RSS:</ p >
< form >
< select onchange = "showRSS(this.value)" >
< option value = "" >Select an RSS-feed:</ option >
< option value = "cnn" >CNN</ option >
< option value = "bbc" >BBC News</ option >
< option value = "pc" >PC World</ option >
</ select >
</ form >
< br >
< div id = "output" >RSS-feeds</ div >
</ body >
</ html >
|
rss.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<?php
$q = $_GET [ "q" ];
if ( $q == "cnn" ) {
$xml =( "http://rss.cnn.com/rss/cnn_topstories.rss" );
}
elseif ( $q == "bbc" ) {
$xml =( "http://newsrss.bbc.co.uk/rss/newsonline_world_edition/americas/rss.xml" );
}
elseif ( $q = "pcw" ){
$xml =( "http://www.pcworld.com/index.rss" );
}
$xmlDoc = new DOMDocument();
$xmlDoc ->load( $xml );
$channel = $xmlDoc ->getElementsByTagName( 'channel' )->item(0);
$channel_title = $channel ->getElementsByTagName( 'title' )->item(0)->childNodes->item(0)->nodeValue;
$channel_link = $channel ->getElementsByTagName( 'link' )->item(0)->childNodes->item(0)->nodeValue;
$channel_desc = $channel ->getElementsByTagName( 'description' )->item(0)->childNodes->item(0)->nodeValue;
echo ( "<p><a href='" . $channel_link . "'>" . $channel_title . "</a>" );
echo ( "<br>" );
echo ( $channel_desc . "</p>" );
$x = $xmlDoc ->getElementsByTagName( 'item' );
for ( $i =0; $i <=2; $i ++) {
$item_title = $x ->item( $i )->getElementsByTagName( 'title' )->item(0)->childNodes->item(0)->nodeValue;
$item_link = $x ->item( $i )->getElementsByTagName( 'link' ) ->item(0)->childNodes->item(0)->nodeValue;
$item_desc = $x ->item( $i )->getElementsByTagName( 'description' ) ->item(0)->childNodes->item(0)->nodeValue;
echo ( "<p><a href='" . $item_link . "'>" . $item_title . "</a>" );
echo ( "<br>" );
echo ( $item_desc . "</p>" );
}
?>
|
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。