Manipulação de XML com Python
Publicado por Fagner Amaral de Souza Candido (última atualização em 18/02/2011)
[ Hits: 18.654 ]
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)
Implementação simples de um programa antivírus em Python 3.10 para Linux
Virus, trojan, sei la o que é isso
Como rodar músicas mp3 pelo Python
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Configurando static ipv6 em placa de rede eth0[DUVIDA] (1)
Sistema da Coréia do Norte - Red Star OS (59)