RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用。RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者。
本文实例为大家分享了php ajax异步读取rss文档数据的相关代码,供大家参考,具体内容如下.
index.html
- <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>
- <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>
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>");
- //Vevb.com
- echo ($item_desc . "</p>");
- }
- ?>
以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。
新闻热点
疑难解答