Gostaria de encontrar um comando do Terminal que possa extrair o arquivo em http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=SOMEUSERNAME&count=1e analise-o para encontrar o status de um usuário no Twitter. O status está dentro do local "status -> status -> text" na árvore.
Eu olhei para libxml e xmllint. Acho que estou no caminho certo com o xmllint, mas não tenho certeza. Com o xmllint, eu sei que poderia fazer xmllint --shell file.xml
e então cat //statuses/status/text
. Mas eu preferiria poder executar algum tipo de comando comoONDULAÇÃO|XMLLINT|SEDisso baixaria o arquivo, analisaria e retornaria o status de uma só vez.
Responder1
O XML::Twig do Perl vem com...
xml_grep --nowrap --text_only /statuses/status/text
Em XML::XPath você pode fazer:
perl -MXML::XPath -E 'my $xp = XML::XPath->new(ioref => \*STDIN); say $xp->getNodeText("/statuses/status/text");'
ou
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; }'
(Claro, háRede::Twittertambém.)