使用javascript解析RSS提要 [英] parse rss feed using javascript

查看:54
本文介绍了使用javascript解析RSS提要的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 PHP 和 JavaScript 解析 RSS 提要.首先,我用 PHP 创建了一个代理来获取 RSS 提要.然后使用 JavaScript 从这个 RSS 提要中获取单个数据.我的 JavaScript 问题.如果我使用 console.log(rssData); 并且没有错误,我就可以获得整个 JavaScript 文档.如果我尝试获取本文档中的单个元素,例如:</code>、<code><description></code> 或 <code><pubDate></code>使用 <code>rssData.getElementsByName("title");</code> 它会给出错误Uncaught TypeError: Object....has no method 'getElementsByName'".所以我的问题是如何获取 RSS 提要中的元素?<em class="showen"></em></p> <p class="en">I am parsing an RSS feed using PHP and JavaScript. First I created a proxy with PHP to obtain the RSS feed. Then get individual data from this RSS feed using JavaScript. My issue with with the JavaScript. I am able to get the entire JavaScript document if I use <code>console.log(rssData);</code> with no errors. If I try to get individual elements within this document say for example: <code><title></code>, <code><description></code>, or <code><pubDate></code> using <code>rssData.getElementsByName("title");</code> it gives an error "Uncaught TypeError: Object....has no method 'getElementsByName'". So my question is how to I obtain the elements in the RSS feed?</p> <p class="cn"><strong>Javascript(更新)</strong></p> <pre><code><code>function httpGet(theUrl) { var xmlHttp = null; xmlHttp = new XMLHttpRequest(); xmlHttp.open("GET", theUrl, false); xmlHttp.send(null); return xmlHttp.responseXML; } // rss source var rssData = httpGet('http://website.com/rss.php'); // rss values var allTitles = rssData.getElementsByTagName("title"); // title var allDate = rssData.getElementsByTagName("pubDate"); // date </code></code></pre> <p class="cn"></p> <h3 class="best_ans mt-1">推荐答案</h3> <p class="cn">尝试将 <code>httpGet</code> 函数的最后一行更改为:<em class="showen"></em></p> <p class="en">Try changing the last line of the <code>httpGet</code> function to:</p> <pre><code><code>return xmlHttp.responseXML; </code></code></pre> <p class="cn">毕竟,您期待的是 XML 响应.您可能还需要将此行添加到您的 PHP 代理:<em class="showen"></em></p> <p class="en">After all, you are expecting an XML response back. You may also need to add this line to your PHP proxy:</p> <pre><code><code>header("Content-type: text/xml"); </code></code></pre> <p class="cn">强制将返回内容作为 XML 发送.<em class="showen"></em></p> <p class="en">To force the return content to be sent as XML.</p> <p>这篇关于使用javascript解析RSS提要的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!</p> </div> <div class="arc-body-main-more"> <span onclick="unlockarc('2381793');">查看全文</span> </div> </div> <div> </div> <div class="wwads-cn wwads-horizontal" data-id="166" style="max-width:100%;border: 4px solid #666;"></div> </div> </article> <div id="arc-ad-2" class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="widget bgwhite radius-1 mb-1 shadow widget-rel"> <h5>相关文章</h5> <ul> <li> <a target="_blank" title="如何使用JavaScript解析RSS提要?" href="/860621.html"> 如何使用JavaScript解析RSS提要?; </a> </li> <li> <a target="_blank" title="如何使用 JavaScript(外部域)解析 RSS 提要?" href="/2381786.html"> 如何使用 JavaScript(外部域)解析 RSS 提要?; </a> </li> <li> <a target="_blank" title="LINQ TO XML解析RSS提要" href="/1558531.html"> LINQ TO XML解析RSS提要; </a> </li> <li> <a target="_blank" title="在javascript中使用RSS提要" href="/2876448.html"> 在javascript中使用RSS提要; </a> </li> <li> <a target="_blank" title="PHP解析XML时出错(RSS提要)" href="/1732137.html"> PHP解析XML时出错(RSS提要); </a> </li> <li> <a target="_blank" title="simplepie不解析谷歌新闻的RSS提要" href="/1835520.html"> simplepie不解析谷歌新闻的RSS提要; </a> </li> <li> <a target="_blank" title="Android - 解析 RSS 提要时出现 UnknownHost 异常" href="/2766178.html"> Android - 解析 RSS 提要时出现 UnknownHost 异常; </a> </li> <li> <a target="_blank" title="解析 ATOM RSS 提要并移除 html 标签" href="/2339822.html"> 解析 ATOM RSS 提要并移除 html 标签; </a> </li> <li> <a target="_blank" title="使用SimpleXML读取RSS提要" href="/1741729.html"> 使用SimpleXML读取RSS提要; </a> </li> <li> <a target="_blank" title="使用 SimpleXML 读取 RSS 提要" href="/2635142.html"> 使用 SimpleXML 读取 RSS 提要; </a> </li> <li> <a target="_blank" title="获取RSS提要?" href="/1453452.html"> 获取RSS提要?; </a> </li> <li> <a target="_blank" title="验证RSS提要" href="/2077266.html"> 验证RSS提要; </a> </li> <li> <a target="_blank" title="RSS提要显示" href="/871239.html"> RSS提要显示; </a> </li> <li> <a target="_blank" title="订阅 RSS 提要" href="/2381792.html"> 订阅 RSS 提要; </a> </li> <li> <a target="_blank" title="Faceebook RSS提要" href="/1463478.html"> Faceebook RSS提要; </a> </li> <li> <a target="_blank" title="问题使用JavaScript解析RSS订阅" href="/164894.html"> 问题使用JavaScript解析RSS订阅; </a> </li> <li> <a target="_blank" title="Python 中的 RSS 提要解析器库" href="/2381782.html"> Python 中的 RSS 提要解析器库; </a> </li> <li> <a target="_blank" title="用PHP解析RSS/Atom提要的最佳方法" href="/1731337.html"> 用PHP解析RSS/Atom提要的最佳方法; </a> </li> <li> <a target="_blank" title="用于RSS提要解析的Objective-C库?" href="/1731985.html"> 用于RSS提要解析的Objective-C库?; </a> </li> <li> <a target="_blank" title="用 PHP 解析 RSS/Atom 提要的最佳方式" href="/2663830.html"> 用 PHP 解析 RSS/Atom 提要的最佳方式; </a> </li> <li> <a target="_blank" title="RSS XML 解析问题(如何从 RSS 提要获取媒体内容值?)" href="/2381814.html"> RSS XML 解析问题(如何从 RSS 提要获取媒体内容值?); </a> </li> <li> <a target="_blank" title="如何使用 Java 编写 RSS 提要?" href="/2607377.html"> 如何使用 Java 编写 RSS 提要?; </a> </li> <li> <a target="_blank" title="使用 PHP 显示多个 RSS 提要" href="/2381815.html"> 使用 PHP 显示多个 RSS 提要; </a> </li> <li> <a target="_blank" title="使用 php 分页显示 rss 提要" href="/2766045.html"> 使用 php 分页显示 rss 提要; </a> </li> <li> <a target="_blank" title="使用 PHP 显示 RSS 提要属性" href="/2381865.html"> 使用 PHP 显示 RSS 提要属性; </a> </li> </ul> </div> <div class="mb-1"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5038752844014834" crossorigin="anonymous"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5038752844014834" data-ad-slot="3921941283"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="side"> <div class="widget widget-side bgwhite mb-1 shadow"> <h5>前端开发最新文章</h5> <ul> <li> <a target="_blank" title="为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?" href="/1996151.html"> 为什么Chrome(在Electron内部)突然重定向到chrome-error:// chromewebdata?; </a> </li> <li> <a target="_blank" title="错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接" href="/749568.html"> 错误102(net :: ERR_CONNECTION_REFUSED):服务器拒绝连接; </a> </li> <li> <a target="_blank" title="如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?" href="/1009885.html"> 如何解决'重定向已被CORS策略阻止:没有'Access-Control-Allow-Origin'标题'?; </a> </li> <li> <a target="_blank" title="如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?" href="/884909.html"> 如何处理“Uncaught(in promise)DOMException:play()失败,因为用户没有首先与文档交互。”在桌面上使用Chrome 66?; </a> </li> <li> <a target="_blank" title="警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件" href="/818517.html"> 警告:添加非被动事件侦听器到滚动阻塞'touchstart'事件; </a> </li> <li> <a target="_blank" title="如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?" href="/343346.html"> 如何在浏览器中播放.TS文件(视频/ MP2T媒体类型)?; </a> </li> <li> <a target="_blank" title="此请求已被阻止;内容必须通过HTTPS提供" href="/886417.html"> 此请求已被阻止;内容必须通过HTTPS提供; </a> </li> <li> <a target="_blank" title="资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关)" href="/562873.html"> 资源解释为样式表,但转换为MIME类型text / html(似乎与web服务器无关); </a> </li> <li> <a target="_blank" title="通过HTTPS加载页面但请求不安全的XMLHttpRequest端点" href="/885901.html"> 通过HTTPS加载页面但请求不安全的XMLHttpRequest端点; </a> </li> <li> <a target="_blank" title="拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。" href="/47347.html"> 拒绝从执行脚本'*',因为它的MIME类型(“应用/ JSON')不是可执行文件,并严格MIME类型检查被启用。; </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门教程 </h5> <ul> <li> <a target="_blank" title="Java教程" href="/OnLineTutorial/java/index.html"> Java教程 </a> </li> <li> <a target="_blank" title="Apache ANT 教程" href="/OnLineTutorial/ant/index.html"> Apache ANT 教程 </a> </li> <li> <a target="_blank" title="Kali Linux教程" href="/OnLineTutorial/kali_linux/index.html"> Kali Linux教程 </a> </li> <li> <a target="_blank" title="JavaScript教程" href="/OnLineTutorial/javascript/index.html"> JavaScript教程 </a> </li> <li> <a target="_blank" title="JavaFx教程" href="/OnLineTutorial/javafx/index.html"> JavaFx教程 </a> </li> <li> <a target="_blank" title="MFC 教程" href="/OnLineTutorial/mfc/index.html"> MFC 教程 </a> </li> <li> <a target="_blank" title="Apache HTTP客户端教程" href="/OnLineTutorial/apache_httpclient/index.html"> Apache HTTP客户端教程 </a> </li> <li> <a target="_blank" title="Microsoft Visio 教程" href="/OnLineTutorial/microsoft_visio/index.html"> Microsoft Visio 教程 </a> </li> </ul> </div> <div class="widget widget-side bgwhite mb-1 shadow"> <h5> 热门工具 </h5> <ul> <li> <a target="_blank" title="Java 在线工具" href="/Onlinetools/details/4"> Java 在线工具 </a> </li> <li> <a target="_blank" title="C(GCC) 在线工具" href="/Onlinetools/details/6"> C(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="PHP 在线工具" href="/Onlinetools/details/8"> PHP 在线工具 </a> </li> <li> <a target="_blank" title="C# 在线工具" href="/Onlinetools/details/1"> C# 在线工具 </a> </li> <li> <a target="_blank" title="Python 在线工具" href="/Onlinetools/details/5"> Python 在线工具 </a> </li> <li> <a target="_blank" title="MySQL 在线工具" href="/Onlinetools/Dbdetails/33"> MySQL 在线工具 </a> </li> <li> <a target="_blank" title="VB.NET 在线工具" href="/Onlinetools/details/2"> VB.NET 在线工具 </a> </li> <li> <a target="_blank" title="Lua 在线工具" href="/Onlinetools/details/14"> Lua 在线工具 </a> </li> <li> <a target="_blank" title="Oracle 在线工具" href="/Onlinetools/Dbdetails/35"> Oracle 在线工具 </a> </li> <li> <a target="_blank" title="C++(GCC) 在线工具" href="/Onlinetools/details/7"> C++(GCC) 在线工具 </a> </li> <li> <a target="_blank" title="Go 在线工具" href="/Onlinetools/details/20"> Go 在线工具 </a> </li> <li> <a target="_blank" title="Fortran 在线工具" href="/Onlinetools/details/45"> Fortran 在线工具 </a> </li> </ul> </div> </div> </div> <script type="text/javascript">var eskeys = '使用,javascript,解析,rss,提要'; var cat = 'cc';';//qianduan</script> </div> <div id="pop" onclick="pophide();"> <div id="pop_body" onclick="event.stopPropagation();"> <h6 class="flex flex101"> 登录 <span onclick="pophide();">关闭</span> </h6> <div class="pd-1"> <div class="wxtip center"> <span>扫码关注<em>1秒</em>登录</span> </div> <div class="center"> <img id="qr" src="https://huajiakeji.com/Content/Images/qrydx.jpg" alt="" style="width:150px;height:150px;" /> </div> <div style="margin-top:10px;display:flex;justify-content: center;"> <input type="text" placeholder="输入验证码" id="txtcode" autocomplete="off" /> <input id="btngo" type="button" onclick="chk()" value="GO" /> </div> <div class="center" style="margin: 4px; font-size: .8rem; color: #f60;"> 发送“验证码”获取 <em style="padding: 0 .5rem;">|</em> <span style="color: #01a05c;">15天全站免登陆</span> </div> <div id="chkinfo" class="tip"></div> </div> </div> </div> <script type="text/javascript" src="https://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/highlight.min.js"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/base.js?v=0.22"></script> <script type="text/javascript" src="https://img01.yuandaxia.cn/Scripts/tui.js?v=0.11"></script> <footer class="footer"> <div class="container"> <div class="flink mb-1"> 友情链接: <a href="https://www.it1352.com/" target="_blank">IT屋</a> <a href="https://huajiakeji.com/" target="_blank">Chrome插件</a> <a href="https://www.cnplugins.com/" target="_blank">谷歌浏览器插件</a> </div> <section class="copyright-section"> <a href="https://www.it1352.com" title="IT屋-程序员软件开发技术分享社区">IT屋</a> ©2016-2022 <a href="http://www.beian.miit.gov.cn/" target="_blank">琼ICP备2021000895号-1</a> <a href="/sitemap.html" target="_blank" title="站点地图">站点地图</a> <a href="/Home/Tags" target="_blank" title="站点标签">站点标签</a> <a target="_blank" alt="sitemap" href="/sitemap.xml">SiteMap</a> <a href="/1155981.html" title="IT屋-免责申明"><免责申明></a> 本站内容来源互联网,如果侵犯您的权益请联系我们删除. </section> <!--统计代码--> <script type="text/javascript"> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?0c3a090f7b3c4ad458ac1296cb5cc779"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script type="text/javascript"> (function () { var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </div> </footer> </body> </html>