Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 18.937 ]
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()
Problema das Oito Rainhas (Random)
Virus, trojan, sei la o que é isso
Implementação simples de um programa antivírus em Python 3.10 para Linux
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Não Consigo instalar o cli-visualizer no Ubuntu 24.04 (1)
compilação samba 4.22 rock linux 9.5 (1)
Erro de segmentação «Segmentation fault (core dumped)» ao retornar obj... (2)
Posso instalar usar o grub sem ter linux instalado, para iniciar o win... (1)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (4)