Estou a tentar ir buscar resultados do array e tentando colocar no ficheiro XML
. tenho esse código assim:
for pessoa in pessoas:
Dadospessoasxml(pessoas,base_path,xml_file,root,tree)
Aqui é outra definição
def Dadospessoasxml(pessoas,base_path,xml_file,root,tree):
id_pessoa = et.SubElement(root, "pessoa", attrib={"id": "1"})
pessoa_nome = et.SubElement(id_pessoa, "nome")
pessoa_numero = et.SubElement(id_pessoa, "numero")
pessoa_idade = et.SubElement(id_pessoa, "idade")
pessoa_altura = et.SubElement(id_pessoa, "altura")
pessoa_peso = et.SubElement(id_pessoa, "peso")
pessoa_nome.text = pessoa.getId()
pessoa_numero.text = pessoa.getNumero()
pessoa_idade.text = pessoa.getIdade()
pessoa_altura.text = pessoa.getAltura()
pessoa_peso.text = pessoa.getPeso()
tree.write(xml_file)
O meu pessoa.get
, não está a funcionar neste caso não percebo o porquê?
Qual biblioteca para montar o xml vc está usando?
Olá, tou usando esta:
import xml.etree.ElementTree as et
Eu só quero que ele preencha o pessoa.getId() com os resultados encontrados do array
Alguém que encerre esse post. Descobri a solução, obrigado!
Dragoon
Janeiro 15, 2019, 3:34pm
#6
Poste a solução, ajude a comunidade, não pense só em você e sim na geral.
Obrigado.
Boa tarde amigos.
Basicamente o @Ruben_Ribeiro está pegando um arquivo xml e modificando pelo código, incluindo registro no mesmo. O problema que estava ocorrendo é que ele estava tentando acessar variáveis de objetos python com get e não é necessário, segue código completo para futuras dúvidas.
import xml.etree.ElementTree as et
class Pessoa:
def __init__(self, id, nome, numero, idade, altura, peso):
self.id = id
self.nome = nome
self.numero = numero
self.idade = idade
self.altura = altura
self.peso = peso
def dadosPessoasXml(pessoa, base_path, xml_file,root,tree):
id_pessoa = et.SubElement(root, "pessoa", attrib={"id": pessoa.id})
pessoa_nome = et.SubElement(id_pessoa, "nome")
pessoa_numero = et.SubElement(id_pessoa, "numero")
pessoa_idade = et.SubElement(id_pessoa, "idade")
pessoa_altura = et.SubElement(id_pessoa, "altura")
pessoa_peso = et.SubElement(id_pessoa, "peso")
pessoa_nome.text = pessoa.nome
pessoa_numero.text = pessoa.numero
pessoa_idade.text = pessoa.idade
pessoa_altura.text = pessoa.altura
pessoa_peso.text = pessoa.peso
tree.write(base_path + xml_file)
pessoas = []
pessoas.append(Pessoa("1", "Rafael", "123", "17", "1.60", "60"))
pessoas.append(Pessoa("2", "Pedro", "456", "20", "1.70", "70"))
pessoas.append(Pessoa("3", "Gustavo", "789", "23", "1.90", "100"))
base_path = "C:/Users/gu.pc/Desktop/"
xml_file = "python.xml"
tree = et.parse(base_path + xml_file)
root = tree.getroot()
for pessoa in pessoas:
dadosPessoasXml(pessoa, base_path, xml_file, root, tree)
Boa sorte a todos
1 curtida
Desculpa não ter postado. Como ninguém tava pedindo a solução eu não postei.