Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 19.114 ]
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 para obter um wallpaper de como está o globo em tempo real
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Mint Xfce não mantém a conexão no wi-fi (2)
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)









