@willa_will
Для удаления узла в XML по имени, вы можете использовать методы из библиотеки xml.etree.ElementTree в Python.
Вот простой пример удаления узла по имени:
1 2 3 4 5 6 7 8 9 10 11 12 |
import xml.etree.ElementTree as ET # Загрузка XML файла tree = ET.parse('example.xml') root = tree.getroot() # Нахождение узлов с заданным именем и удаление их for node in root.findall('node_name'): root.remove(node) # Сохранение изменений в XML файле tree.write('example.xml') |
В этом примере мы загружаем XML файл с помощью функции ET.parse и получаем корневой элемент дерева. Затем мы используем метод findall для поиска всех узлов с заданным именем и удаляем их с помощью метода remove. Наконец, мы сохраняем изменения в XML файле с помощью метода write.
Обратите внимание, что в приведенном выше примере вместо 'node_name' вам нужно заменить на имя узла, который вы хотите удалить.
@willa_will
Данный код будет работать только в том случае, если все целевые узлы имеют одинаковое имя. Если узлы имеют различные имена, то можно воспользоваться следующим методом для удаления узла по имени:
1 2 3 4 5 6 7 8 9 10 11 12 |
import xml.etree.ElementTree as ET def remove_node_by_name(root, node_name): for node in root.findall('.//{}'.format(node_name)): root.remove(node) tree = ET.parse('example.xml') root = tree.getroot() remove_node_by_name(root, 'node_name') tree.write('example.xml') |
Этот метод позволит удалить все узлы с заданным именем, независимо от того, какие именно они имеют в структуре XML.