Ir para conteúdo
Fórum Script Brasil
  • 0

Escrever Em Xml


Guest Visitante

Pergunta

Guest Visitante

Olá, boa-tarde à todos.

Tenho um simples arquivo de cadastro, e gostaria de saber como gravo essas informações em um arquivo XML.

Meu XML está mais ou menos assim:

<?xml version="1.0"?>
<carros>
  <carro1>
     <marca>Fiat</marca>
     <modelo>Uno</modelo>
     <ano>1998</ano>
  </carro1>

  <carro2>
     <marca>Ford</marca>
     <modelo>K.A.</modelo>
     <ano>1996</ano>
  </carro2>

</carros>

Já encontrei no CookBook do pythonbrasil o método para ler xml e não escrever.

Qualquer ajuda é bem-vinda. Obrigado.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Na própria documentação de Python você encontra um exemplo de escrever. De qualquer maneira, segue um exemplo para o seu caso específico:

import xml.dom.minidom

veiculos = {'carro1' : ['Fiat', 'Uno', '1998'],
            'carro2' : ['Ford', 'Ka', '1996'],
            'carro3' : ['Chevrolet', 'Vectra', '1998']}

dom = xml.dom.minidom.getDOMImplementation()

xml = dom.createDocument(None, "carros", None)
carros = xml.documentElement

for veiculo, dados in veiculos.items():
    carro = xml.createElement(veiculo)

    marca = xml.createElement("marca")
    marca.appendChild(xml.createTextNode(dados[0]))
    modelo = xml.createElement("modelo")
    modelo.appendChild(xml.createTextNode(dados[1]))
    ano = xml.createElement("ano")
    ano.appendChild(xml.createTextNode(dados[2]))

    carro.appendChild(marca)
    carro.appendChild(modelo)
    carro.appendChild(ano)

    carros.appendChild(carro)

f = file('c:/teste.xml', 'w')
f.write(xml.toprettyxml())
f.close()

print xml.toprettyxml()

Certo? ;)

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Valeu!

está dando esse errinho aqui:

Traceback (most recent call last):

File "xml.py", line 1, in ?

import xml.dom.minidom

File "/escrever_xml/xml.py", line 1, in ?

import xml.dom.minidom

ImportError: No module named dom.minidom

Pode ajudar?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

O problema é que você gravou o arquivo com o nome "xml.py" e é justamente o módulo de mesmo nome (que existe na biblioteca de Python) é que estamos tentando importar (import xml.dom.minidom). Renomeie o seu xml.py para qualquer outra coisa (teste.py, por exemplo) e vai dar certo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...