【发布时间】:2013-08-20 00:10:23
【问题描述】:
我正在尝试删除包含命名空间的 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')
在我的实际 XML 中,我有很多标签,所以我试图搜索包含 XXX 的 Actor 标签并完全删除整个标签及其内容。但它不起作用。
【问题讨论】:
标签: python xml parsing lxml xml-namespaces