Como ir buscar resultados do array e colocar no ficheiro xml

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!

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 :metal::sunglasses::metal:

1 curtida

Desculpa não ter postado. Como ninguém tava pedindo a solução eu não postei.