使用javascript无法获取描述rss标记数据
问题描述:
我目前正在制作一个窗口小部件,用于从Feed中显示项目。我大部分都是这样工作的,但由于某些原因,项目内的标签内的数据会返回为空,但我得到的数据和标签没有问题。使用javascript无法获取描述rss标记数据
feed
是和x mlhttp.responseXML
对象。
var items = feed.getElementsByTagName("item");
for (var i=0; i<10; i++){
container = document.getElementById('list');
new_element = document.createElement('li');
title = items[i].getElementsByTagName("title")[0].firstChild.nodeValue;
link = items[i].getElementsByTagName("link")[0].firstChild.nodeValue;
alert(items[i].getElementsByTagName("description")[0].firstChild.nodeValue);
new_element.innerHTML = "<a href=\""+link+"\">"+title+"</a> ";
container.insertBefore(new_element, container.firstChild);
}
我不知道为什么它不会为标签工作,而是为其他标签。
这里是RSS的一个例子养活其试图解析:
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>A title</title>
<link>http://linksomehwere</link>
<description>The title of the feed</description>
<language>en-us</language>
<item>
<pubDate>Fri, 10 Jul 2009 11:34:49 -0500</pubDate>
<title>Awesome Title</title>
<link>http://link/to/thing</link>
<guid>http://link/to/thing</guid>
<description>
<![CDATA[
<p>some html crap</p>
blah blah balh
]]> </description>
</item>
</channel>
</rss>
答
我不知道JavaScript,但许多XML解析器创建CDATA自己的节点,所以你可能需要得到孩子的CDATA节点,这意味着你的代码不够深,无法获取CDATA节点内的数据。