#programa para ler um documento em xml
import xml.etree.ElementTree as ET


nomeDoc = input("Entre com o nome do documento a ser aberto: ")

arvore = ET.parse(nomeDoc)

elementoRaiz = arvore.getroot()

#lê apenas os elementos logo abaixo da raiz
#for subelemento in elementoRaiz:
#    print("subelemento.tag: ", subelemento.tag, end="" )
#    print(" dicionarios de atributos do subelemento: ", subelemento.attrib )
#    print("conteudo do subelemento: ", subelemento.text )
#    print("________________________________________________________")


#quando temos uma hierarquia maior de elementos, podemos usar uma função recursiva para listá-los
def listaSubElementos(elemento):
    print("Entrando na função listaSubElementos")
    for subelemento in elemento:
        print("nome da tag: ", subelemento.tag, end="" )
        print(" dicionarios de atributos do subelemento: ", subelemento.attrib )
        print("conteudo do subelemento: ", subelemento.text )
        print("________________________________________________________")

        #testa se o subelemento possui subelementos abaixo dele
        if len(subelemento) > 0 :
            listaSubElementos(subelemento)


input("Pressione ENTER para continuar")

listaSubElementos(elementoRaiz)


