jak rekurencyjnie iterować znaczniki XML w Pythonie przy użyciu ElementTree?

Próbuję iterować wszystkie węzły w drzewie przy użyciu ElementTree.

Robię coś takiego:

  tree = ET.parse("/tmp/test.xml")

  root = tree.getroot()

  for child in root:
       ### do something with child

Problem polega na tym, że dziecko jest obiektem Element, a nie obiektem ElementTree, więc nie mogę dalej się nim zajmować i powtarzać, aby iterować po jego elementach. Czy istnieje sposób na iterowanie w inny sposób nad „root”, aby iterował nad węzłami najwyższego poziomu w drzewie (bezpośrednie dzieci) i zwracał tę samą klasę co sam root?

questionAnswers(4)

yourAnswerToTheQuestion