Я совершенно новичок в Python и использует его в последнее время, чтобы попытаться разобрать большой иш XML-файла 700 МБ.Python удаления элементов из больших XML-файла с XML iterparse
Осмотревшись, которые я пытался использовать iterparse методы, чтобы удалить элемент с именем Revision_History для XML, так как мы больше не нужна эта информация.
Я через пару вариаций с этим сценарием, так что это может быть ужасно неправильно, в настоящее время. Кажется, что это нормально для первых двух абсорбций. Однако он перестает работать и не находит никаких дополнительных тегов revision_history.
import xml.etree.ElementTree as ET
for event, elem in ET.iterparse("AAT.xml", events=("end",)):
if event == "end":
for subject in elem.findall ("{http://localhost/namespace}Subject"):
print ("subject found")
for revision in subject.findall("("{http://localhost/namespace}Revision_History"):
print ("revision found")
subject.remove (revision)
print ("done")
elem.clear()
Любые советы очень ценятся!
Адам
выглядит как «if event == ..» имеет неправильный отступ, так что в вашем цикле ничего не работает, есть ли у вас синтаксические ошибки для этого форматирования? – artemdevel
artemdevel, это ошибка от меня вставив его в поперечнике. – ADWALSH