python删除包含名称空间的元素

python删除包含名称空间的元素,python,xml,parsing,lxml,xml-namespaces,Python,Xml,Parsing,Lxml,Xml Namespaces,我试图删除xml中包含名称空间的元素。 这是我的密码: templateXml = """<?xml version="1.0" encoding="UTF-8"?> <Metadata xmlns="http://www.amazon.com/UnboxMetadata/v1"> <Movie> <CountryOfOrigin>US</CountryOfOrigin> <TitleInfo>

我试图删除xml中包含名称空间的元素。 这是我的密码:

templateXml = """<?xml version="1.0" encoding="UTF-8"?>
<Metadata xmlns="http://www.amazon.com/UnboxMetadata/v1">
<Movie>
        <CountryOfOrigin>US</CountryOfOrigin>
        <TitleInfo>
                <Title locale="en-GB">The Title</Title>
                <Actor>
                        <ActorName locale="en-GB">XXX</ActorName>
                        <Character locale="en-GB">XXX</Character>
                </Actor>
        </TitleInfo>    
</Movie>
</Metadata>"""

from lxml import etree
tree = etree.fromstring(templateXml)

namespaces = {'ns':'http://www.amazon.com/UnboxMetadata/v1'}

for checkActor in tree.xpath('//ns:Actor', namespaces=namespaces):
    etree.strip_elements(tree, 'ns:Actor')
templateXml=”“”
美国
标题
XXX
XXX
"""
从lxml导入etree
tree=etree.fromstring(templateXml)
名称空间={'ns':'http://www.amazon.com/UnboxMetadata/v1'}
对于tree.xpath('//ns:Actor',namespaces=namespaces)中的checkActor:
etree.strip_元素(树'ns:Actor')
在我的实际XML中,我有很多标记,因此我尝试搜索包含XXX的Actor标记,并完全删除整个标记及其内容。但它不起作用。

使用方法:

印刷品:

<?xml version='1.0' encoding='ASCII'?>
<Metadata xmlns="http://www.amazon.com/UnboxMetadata/v1">
<Movie>
        <CountryOfOrigin>US</CountryOfOrigin>
        <TitleInfo>
                <Title locale="en-GB">The Title</Title>
                </TitleInfo>    
</Movie>
</Metadata>

美国
标题
<?xml version='1.0' encoding='ASCII'?>
<Metadata xmlns="http://www.amazon.com/UnboxMetadata/v1">
<Movie>
        <CountryOfOrigin>US</CountryOfOrigin>
        <TitleInfo>
                <Title locale="en-GB">The Title</Title>
                </TitleInfo>    
</Movie>
</Metadata>