Как правильно разобрать utf-8 xml с ElementTree?

Мне нужна помощь, чтобы понять, почему синтаксический анализ моего файла XML * сxml.etree.ElementTree выдает следующие ошибки.

*Мой тестовый XML-файл содержит арабские символы.

Задача: Открыть и разобратьutf8_file.xml файл.

Моя первая попытка:

import xml.etree.ElementTree as etree
with codecs.open('utf8_file.xml', 'r', encoding='utf-8') as utf8_file:
    xml_tree = etree.parse(utf8_file)

Результат 1:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 236-238: ordinal not in range(128)

Моя вторая попытка:

import xml.etree.ElementTree as etree
with codecs.open('utf8_file.xml', 'r', encoding='utf-8') as utf8_file:
    xml_string = etree.tostring(utf8_file, encoding='utf-8', method='xml')
    xml_tree  = etree.fromstring(xml_string)

Результат 2:

AttributeError: 'file' object has no attribute 'getiterator'

Пожалуйста, объясните ошибки выше и прокомментируйте возможное решение.

Ответы на вопрос(1)

Ваш ответ на вопрос