Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 19.300 ]
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()
Inteligência artificial com Python e Shell Script
Dicionário Ingles de expressões.
Virus, trojan, sei la o que é isso
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
O que você está ouvindo agora? [2] (241)
Abrir um arquivo URL pelo Clipper (2)
Como instalar Warsaw no Gentoo? (7)
Senhor Einstein tinha razão mesmo! [RESOLVIDO] (12)
Como insiro e excluo um elemento XML e JSON ao código Javascript (2)









