Завершите класс, чтобы он работал рекурсивно для XML любого уровня.
Код: Выделить всё
xml_string = " Tove Jani Reminder Don't forget me this weekend! "
Вот мой код:
Код: Выделить всё
import xml.etree.ElementTree as ET
class XmlReader:
def __init__(self, xml=None):
self.tree = tree = ET.ElementTree(ET.fromstring(xml))
self.root = tree.getroot()
def parse_xml(self):
for elem in self.root.iter():
print(ET.tostring(elem).decode('utf8'))
if elem.text != None:
print(elem.text+'\n')
else:
print('None') # catch empty nodes like
if __name__ == "__main__":
xml_string = """
Tove
Jani
Reminder
Don't forget me this weekend!
"""
xmlObj = XmlReader(xml_string)
xmlObj.parse_xml()
В чем может быть проблема с моим кодом?
Версия Python — 3.11. Как мы можем решить эту проблему, используя рекурсивный подход.>
Подробнее здесь: https://stackoverflow.com/questions/784 ... -exception