Pular para o conteúdo

Manipulação de XML com Python

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
Fagner Amaral de Souza Candido f_Candido
Hits: 19.355 Categoria: Python Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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
Download Previsao.py Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

# -*- 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()
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Criando um jogo de Jokenpo

Conexão de Roteadores CISCO

Expressões numéricas

Virus, trojan, sei lá o que é isso, PARTE II

PYCalculator 1.0 - Calculadora no Python

#1 Comentário enviado por FernandoSurian em 30/03/2011 - 21:05h
Cara muito legal e gostaria de saber se você poderia dar uma ajuda nessa linguagem de programação, pois estou tentando realizar um trabalho com inode (sistema de arquivos) para fazer uma busca comparado cabeçalho e rodapé de arquivos... seria possivel alguma ajuda... obrigado..

Contribuir com comentário

Entre na sua conta para comentar.