Olá a todos,
Hoje vamos ver como ler um feed de noticias através do powershell. O feed de noticias nada mais é que um arquivo XML que é atualizado de tempos em tempos e que contém um resumo dos itens mais recentes publicados, no nosso exemplo vamos utilizar o XML de feed deste blog.
A url do feed é esta: Feed. Para obter o conteudo deste XML vamos utilizar a classe System.Web.Webclient, que com seu método DownloadString(), podemos visualizar diretamente o conteúdo do arquivo. O conteúdo é obtido em formato plaintext porém queremos ele em formato XML, para isso iremos utilizar o “acelerador” [XML], que vem pacote Core do Powershell, por fim, isto será armazenado em uma variável como um objeto, para isso vamos utilizar o seguinte comando:
$feed= [xml](New-Object System.Net.WebClient).DownloadString("https://guidooliveira.com/feed")
Agora que temos o Feed dentro em um objeto XML podemos navegá-lo e acessar as informações:
Utilizando o cmdlet Get-Member podemos filtrar os itens acessiveis:
Após acessar todas as propriedades somente a propriedade Item, apresenta o conteúdo esperado, conforme podemos ver no XML:
Agora apenas formatando a exibição em modo de tabela com o cmdlet Format-Table, podemos visualizar claramente os posts com suas respectivas URLs:
Da mesma forma podemos exibir em uma janela separada com o cmdlet Out-GridView selecionando as propriedades desejadas:
$feed.rss.channel.item | Select-Object -Property title,link | Out-GridView –Title 'RSSFeed_GuidoOliveira.com'
Outra forma mais simples, que esta disponível a partir da versão 3 do Powershell é utilizando o cmdlet Invoke-RestMethod, que ja faz toda a tratativa do feed:
Invoke-RestMethod https://guidooliveira.com/feed | Select-Object -Property Title,Link
Hoje vimos como acessar arquivos XML que estao na Web e como navegar e exibir suas respectivas informações.
Dúvidas? Sugestões? Comente!
Até a próxima!
2 Comments
Esta é muito legal
up