Автор Тема: XML::RSS::Parser  (Прочитано 6552 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« : 23 Января 2005, 02:32:00 »
Друзья,

при вызове либо parse (my $feed = $p->parse($page);) либо parsefile (my $feed = $p->parsefile(\'file.xml\');) стабильно получаю следующее:

Can\'t call method "find_rss_namespace" on an undefined value at XML/RSS/Parser.pm line 37.

В Parser.pm эта строчка выглядит так:

sub rss_normalize {
    my $self = shift;
    my $doc = shift;
   my $nsq_channel = $doc->find_rss_namespace.\'channel\';

Хоть убейте не понимаю, что он хочет.

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
XML::RSS::Parser
« Ответ #1 : 23 Января 2005, 16:10:06 »
а перевести сообщение об ошибке в голову не приходило?
Ну к чему все это, лучше бы водки выпили...

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #2 : 24 Января 2005, 02:45:04 »
милый glebushka, я наивно надеялся, что посетителям этого форума не требуется перевод. учите английский или воспользуйтесь lingvo.ru.

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
XML::RSS::Parser
« Ответ #3 : 24 Января 2005, 11:10:46 »
Цитировать
smirnoffds:
я наивно надеялся, что посетителям этого форума не требуется перевод. учите английский или воспользуйтесь lingvo.ru.

млин, это касалось тебя - там же написано в чем проблема
 в исканиях.

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #4 : 24 Января 2005, 13:07:10 »
Green Kakadu:
что там написано -- я, в общем, понимаю; но откуда это берется -- нет, иначе не стал бы спрашивать.
XML/RSS/Parser.pm -- CPAN-овский модуль; каким образом он внутри себя при вызове снаружи его собственного метода получает ошибку?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
XML::RSS::Parser
« Ответ #5 : 25 Января 2005, 12:47:37 »
$feed = $p->parsefile(\'file.xml\')
Ты уверен что file.xml существует и у него есть права на чтение?
Ты уверен что твой файл имеет валидную разметку?
http://www.feedvalidator.org/
The documentations is your friend

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #6 : 25 Января 2005, 13:28:46 »
NeoNox : на оба вопроса ответ "да". Модуль XML::RSS все читает и парсит; валидатор валидирует.

К тому же, в RSS::XML::Parser-е не работает не только parsefile, но и parse, которому я отдаю опять же вполне валидный текст, который забираю из других (проверенных) источников.

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
XML::RSS::Parser
« Ответ #7 : 25 Января 2005, 13:52:55 »
Этот код работает?
use strict;
use 
XML::RSS::Parser;
use 
LWP::Simple;
use 
bytes;

my $content get("http://spectator.ru/rss");

my $p = new XML::RSS::Parser;
my $feed $p->parse($content);

my $title XML::RSS::Parser->ns_qualify(\'title\',$feed->rss_namespace_uri);
print $feed->rss_namespace_uri;
print "item count: ".$feed->item_count()."\\n\\n";

foreach my $i ( $feed->items ) {
        map { print $_->name.": ".$_->value."\\n" } $i->children;
        print "\\n";
}
The documentations is your friend

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #8 : 25 Января 2005, 13:56:02 »
Увы.

==
$ perl getrss2.cgi

Can\'t call method "find_rss_namespace" on an undefined value at XML/RSS/Parser.pm line 37.
==

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
XML::RSS::Parser
« Ответ #9 : 25 Января 2005, 14:02:05 »
Версия XML::RSS::Parser?
The documentations is your friend

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #10 : 25 Января 2005, 18:02:39 »
(прошу прощения, что надолго пропадал)

версия -- свежак
$VERSION = 3.01;

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
XML::RSS::Parser
« Ответ #11 : 25 Января 2005, 18:36:27 »
perl -MXML::RSS::Parser -e \'print $XML::RSS::Parser::VERSION\'
The documentations is your friend

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #12 : 25 Января 2005, 18:39:28 »
3.01

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
XML::RSS::Parser
« Ответ #13 : 25 Января 2005, 18:41:22 »
Ну в таком случае у меня 2.1 и все работает. Вопросы автору модуля.
The documentations is your friend

Оффлайн smirnoffds

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
XML::RSS::Parser
« Ответ #14 : 25 Января 2005, 18:45:45 »
я ставил с CPANа.
надо будет найти более древнюю версию.

спасибо!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28