【发布时间】:2020-07-19 02:54:58
【问题描述】:
我有一些 Python,我正在尝试从我无法控制的各种 XML 文档中删除所有 cmets。这应该能够处理任何有效的 XML。到目前为止的代码如下:
tree = lxml.etree.parse(path_to_xml_file)
for c in tree.xpath('//comment()'):
c.getparent().remove(c)
这段代码在这个特定的 XML 文件上崩溃:
<!-- This comment can't be removed. -->
<foo>
<!-- This comment can be removed. -->
</foo>
无法删除第一条评论,因为它没有父元素。 c.getparent() 在该评论上返回 None。我没有看到有关如何从 XML 树中删除节点的任何其他文档。这个is valid XML。那么如何删除这条评论呢?
【问题讨论】: