Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 19.250 ]
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()
Script em Python com várias funções matemáticas [iniciante]
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Problema ao instalar Linux Mint. (1)
Midia de instalação LM-21.3 não inicializa (11)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (9)









