Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 19.007 ]
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
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Jogos baixados na Central de Aplicativos mas que não abrem (1)
debian com wayland, configuracao de teclado. Mudou Tudo! [RESOLVIDO] (1)
Iinstalar o Scanner Kodak i940 no Linux Mint 19/20? (3)
Pastas da raiz foram para a área de trabalho [RESOLVIDO] (11)