Opa, pensei que estava respondendo na lista de Python, mas esta é a
lista de Zope. No Zope o melhor jeito de gerar XML é usar um
PageTemplate.

Você pode criar um PageTemplate chamado modelo_xml, algo assim:

<livro>
   <titulo tal:content="options/titulo">Titulo da obra</titulo>
   <autor tal:content="options/autor>Nome do autor</autor>
</livro>

Daí você escreve no mesmo folder um script Python que faz o seguinte:

titulo, autor = ('O Alienista', 'Machado de Assis')
return container.modelo_xml(titulo=titulo, autor=autor)

E pronto, basta invocar o script para obter o XML, sem usar nenhum print.

[ ]s
Luciano



On Jan 10, 2008 3:19 AM, Luciano Ramalho <[EMAIL PROTECTED]> wrote:
> On Jan 9, 2008 3:02 PM, Paulo <[EMAIL PROTECTED]> wrote:
> >  Boa tarde grupo, tenho uma tuplas em script python com varios dados sobre o
> > qual irei realizar algum calculos e retornar informações em no formato XML,
> > Alguem sabe como posso retornar estas informações sem ter que ficar usando
> > print.
>
> Não sei se entendi a pergunta, porque depende do significado de
> "retornar informações". Retornar para onde ou o quê?
>
> Se quiser transformar uma tupla em um arquivo XML, pode fazer algo assim:
>
> ###########
> arq = file('livro.xml','w') # abrir arquivo para gravação
> xml = '''\
> <livro>
>   <titulo>%s</titulo>
>   <autor>%s</autor>
> </livro>
> '''
> tupla =  ('O Alienista', 'Machado de Assis')
> arq.write(xml % tupla)
> arq.close()
> ###########
>
> Se em vez de uma tupla tiver um dicionário, pode fazer assim:
>
> ###########
> arq = file('livro.xml','w') # abrir arquivo para gravação
> xml = '''\
> <livro>
>   <titulo>%(tit)s</titulo>
>   <autor>%(aut)s</autor>
> </livro>
> '''
> # neste caso a ordem dos itens não importa
> dic = {'aut':'Machado de Assis', 'tit':'Quincas Borba'}
> arq.write(xml % dic)
> arq.close()
> ###########
>
>
> Ajudei ou atrapalhei?
>
> [ ]s
> Luciano
>

Responder a