Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 18.820 ]
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()
Cronômetro com interface gráfico utilizando a biblioteca Tkinter
Combinações de letras, números e muito mais
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)