Мне нужно обработать два xml-файла в одном скрипте. Итак, я написал некоторые коды, как показано ниже:Почему вызов функции ElementTree.parse дважды в одном скрипте получит исключение?
import xml.etree.cElementTree as ET
parser = ET.XMLParser(encoding='utf-8')
ET.parse('../wiki.xml', parser=parser)
ET.parse('../tutorial.xml', parser=parser)
Однако второй вызов parse
получил исключение.
cElementTree.ParseError: parsing finished
Но я могу гарантировать, что оба XML-файлы не имеют никаких внутренних проблем, потому что, когда я изменил порядок второй Invoke всегда есть исключение, и если я зарезервировал одно не было никаких проблем.
Итак, почему вызов функции ElementTree.parse дважды в одном скрипте получит исключение?
Это решение является правильным, спасибо! Однако, может ли существующий один метод очистить состояние парсера? – xohozu
Как из [документации] (https://docs.python.org/3.4/library/xml.etree.elementtree.html#xmlparser-objects) Я не вижу этого. Вы можете поэкспериментировать с методом 'close()', но я не уверен, что это сделает трюк. –