Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 18.757 ]
Homepage: https://github.com/fagnercandido
Olá PessoALL,
Todos sabemos da relevância que o XML possui nas aplicações. Ele traz consigo uma gama enorme de possibilidades: criação de bases de dados, ontologias e interoperabilidade entre sistemas. Recentemente descobri que o INMET disponibiliza a previsão do tempo em formato XML através de um WebService.
O código a seguir é bem simples: Ele recebe uma URL, no caso a do WebService do INMET, contendo a previsão do tempo e trabalha em cima deste arquivo.
O código é bem simples, manipulando de forma clara e rápida algumas possíveis formas de se trabalhar com XML em Python.
Qualquer dúvida, sugestão ou critica serão bem-vindas,
Abraços.
f_Candido
fagner7777777@gmail.com
@fagner_candido
# -*- coding: utf-8 -*- ''' Sintese: Objetivo : Demonstrar manipulacao de arquivos XML em Python Entrada : Uma URL com XML - WebService do INMET Saída : Uma tag do arquivo Autor : f_Candido <fagner7777777@gmail.com> @fagner_candido ''' # Importacoes import urllib2 from xml.dom import minidom class Previsao(): # URL do INMET - WebService url = 'http://www.inmet.gov.br/webservice/previsao/?geraXml=&TP=CP&CP=BRAS%CDLIA& ' fonte = '' xmlDoc = '' listaEstado = [] def __init__(self): ''' Construtor onde e recebido a URL Alem de ser convertido para objeto XML ''' try: self.fonte = urllib2.urlopen(self.url).read() except: self.fonte = 'URL Inválida' self.xmlDoc = minidom.parseString(self.fonte) def getTag(self, tag): ''' Obtem a tag pegando por valor ''' self.listaEstado = self.xmlDoc.getElementsByTagName(tag) def listElement(self): ''' Percorre os elementos ''' for x in self.listaEstado: print x.toxml() objPrevisao = Previsao() listaEstado = objPrevisao.getTag('estado') objPrevisao.listElement()
LISCH e EISCH - Método de resolução de colisão
Jode de acertar a palavra embaralhada
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta