@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.