我想找到一個特定的標籤,基於它的孩子的內容和刪除父標籤和內容,但無法找到答案。這裏是我的xml:基於子標籤值刪除標籤和內容 - python lxml
<video>
<crew>
<member billing="top">
<name>Some Guy</name>
<roles>
<role>Painter</role>
<role>Decorator</role>
</roles>
</crew>
<crew billing="top">
<name>Another Guy</name>
<roles>
<role>Primary</role>
</roles>
</crew>
</crew>
</video>
我想要做的就是搜索,看是否存在於<crew>
塊<role>Primary</role>
,如果它想刪除整個<crew>
塊,其中<role>Primary</role>
存在的,它的父。 那麼結果將是:
<video>
<crew>
<member billing="top">
<name>Some Guy</name>
<roles>
<role>Painter</role>
<role>Decorator</role>
</roles>
</crew>
</video>
它有時沒底,也許埋藏許多其他<crew>
標籤內,所以我知道,如果該塊包含<role>Primary</role>
我想刪除整個<crew>
塊駐留英寸 我曾嘗試:
for find1 in root.iter(tag='role'):
find1 = find1.text
if find1 == "Primary":
path = tree.xpath('//video/crew')
etree.strip_elements(path, 'member')
但刪除了每個<crew>
標籤和它的內容。 親切的問候。
給定的XML是無效的。 – falsetru