php ajax异步读取rss文档数据


Posted in PHP onMarch 29, 2016

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。

本文实例为大家分享了php ajax异步读取rss文档数据的相关代码,供大家参考,具体内容如下

代码如下:

index.html

<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

<?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程序设计有所帮助。

PHP 相关文章推荐
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
php中禁止单个IP与ip段访问的代码小结
Jul 04 PHP
比较简单的百度网盘文件直链PHP代码
Mar 24 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
PHP会话控制:Session与Cookie详解
Sep 27 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
基于PHP实现邮箱验证激活过程详解
Oct 28 PHP
基于ThinkPHP删除目录及目录文件函数
Oct 28 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 #PHP
详解PHP匿名函数与注意事项
Mar 29 #PHP
php ajax实现文件上传进度条
Mar 29 #PHP
php $_SESSION会员登录实例分享
Jan 19 #PHP
PHP实现163邮箱自动发送邮件
Mar 29 #PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
Mar 29 #PHP
PHP创建word文档的方法(平台无关)
Mar 29 #PHP
You might like
javascript 小型动画组件与实现代码
2010/06/02 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
2015/12/31 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
php生成短网址/短链接原理和用法实例分析
2020/05/29 PHP
JS解密入门之凭直觉解
2008/06/25 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/06 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jquery图片切换插件
2015/03/16 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
AngularJS中的Directive实现延迟加载
2016/01/25 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
树结构之JavaScript
2017/01/24 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
js实现鼠标拖拽多选功能示例
2017/08/01 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
vue element实现表格合并行数据
2020/11/30 Vue.js
Python 条件判断的缩写方法
2008/09/06 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
Python图像处理库PIL的ImageDraw模块介绍详解
2020/02/26 Python
用CSS3实现背景渐变的方法
2015/07/14 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
opencv实现图像平移效果
2021/03/24 Python
大三在校生电子商务求职信
2013/10/29 职场文书
自考毕业自我鉴定
2014/03/18 职场文书
物业保安辞职信
2015/05/12 职场文书
教师节领导致辞
2015/07/29 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书