Не могу получить описание данных тега RSS с помощью JavaScript - PullRequest
1 голос
/ 06 августа 2009

В настоящее время я делаю виджет для получения и отображения элементов из ленты. У меня это работает по большей части, но по какой-то причине данные внутри тега внутри элемента возвращаются пустыми, но я получаю данные в тегах и без проблем.

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>

1 Ответ

0 голосов
/ 06 августа 2009

Я не уверен насчет javascript, но многие синтаксические анализаторы XML создают свой собственный узел для CDATA, поэтому вам может потребоваться получить дочерний узел для узла CDATA, что означает, что ваш код недостаточно углублен, чтобы получить данные узел CDATA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...