4

Я хотел бы найти команду терминала, которая может получить файл по адресу http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=SOMEUSERNAME&count=1, и проанализировать ее, чтобы найти статус пользователя в Twitter. Статус находится внутри дерева «статусы -> статус -> текст».

Я посмотрел в libxml и xmllint. Я думаю, что я на правильном пути с xmllint, но я не уверен. С xmllint я знаю, что могу сделать xmllint --shell file.xml и затем cat //statuses cat //statuses/status/text . Но я бы предпочел иметь возможность выполнять некоторые команды, такие как CURL | XMLLINT | САС , который загрузит файл, проанализирует его и вернет статус одним махом.

1 ответ1

3

Perl XML::Twig поставляется с ...

xml_grep --nowrap --text_only /statuses/status/text

В XML::XPath вы можете сделать:

perl -MXML::XPath -E 'my $xp = XML::XPath->new(ioref => \*STDIN); say $xp->getNodeText("/statuses/status/text");'

или же

perl -MXML::XPath -E 'my $xp = XML::XPath->new(ioref => \*STDIN); for my $node ($xp->find("/statuses/status/text")->get_nodelist) { say $node->string_value; }'

(Конечно, есть и Net::Twitter .)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .