У меня проблема с ElementTree, которую я не могу понять. Я прочитал всю их документацию, а также всю информацию, которую я мог найти на этом форуме. У меня есть пара элементов/узлов, которые я пытаюсь удалить с помощью ElementTree. Я не получаю ошибок со следующим кодом, но когда я смотрю на выходной файл, на который я написал изменения, элементы/узлы, которые я ожидал удалить, все еще существуют. У меня есть документ, который выглядит следующим образом:Невозможно удалить элемент/узел с помощью ElementTree
<data>
<config>
<script filename="test1.txt"></script>
<documentation filename="test2.txt"></script>
</config>
</data>
Мой код выглядит следующим образом:
import xml.etree.ElementTree as ElementTree
xmlTree = ElementTree.parse(os.path.join(sourcePath, "test.xml"))
xmlRoot = xmlTree.getroot()
for doc in xmlRoot.findall('documentation'):
xmlRoot.remove(doc)
xmlTree.write(os.path.join(sourcePath, "testTWO.xml"))
В результате я получаю следующий документ:
<data>
<config>
<script filename="test1.txt" />
<documentation filename="test2.txt" />
</config>
</data>
Что мне нужно что-то больше похоже на это. Я не застрял, используя ElementTree. Если есть лучшее решение с lxml или другой библиотекой, я все уши. Я знаю, что ElementTree может быть немного больно время от времени.
<data>
<config>
</config>
</data>
Благодарим вас за пример. Я вижу, где я ошибался, основываясь на том, что вы предоставили. Однако в исходном примере XML я просто поместил пару элементов под ** **. Я просто хочу удалить элементы **