Ответ 1
попробовать:
for elem in xml.xpath( '//foo' ) :
elem.getparent().remove(elem)
удалить из него родительский, а не корень (если он не является дочерним элементом корневого элемента)
Итак, у меня есть такой XML:
<bar>
<foo>Something</foo>
<baz>
<foo>Hello</foo>
<zap>Another</zap>
<baz>
<bar>
И я хочу удалить все узлы foo. Что-то вроде этого не работает
params = xml.xpath('//foo')
for n in params:
xml.getroot().remove(n)
Предоставление
ValueError: Element is not a child of this node.
Что такое аккуратный способ сделать это?
попробовать:
for elem in xml.xpath( '//foo' ) :
elem.getparent().remove(elem)
удалить из него родительский, а не корень (если он не является дочерним элементом корневого элемента)