簡體   English   中英

如何使用lxml刪除python中與xpath匹配的所有元素?

[英]How can I remove all elements matching an xpath in python using lxml?

所以我有一些像這樣的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)

從它的父節點而不是根節點中刪除它(除非它是根元素的子節點)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM