经过Python 2.7和3.5的测试,以下代码应该可以正常工作。
#!/usr/bin/env python# CommentedTreeBuilder.pyfrom xml.etree import ElementTreeclass CommentedTreeBuilder(ElementTree.TreeBuilder): def comment(self, data): self.start(ElementTree.Comment, {}) self.data(data) self.end(ElementTree.Comment)
然后,在主代码中使用
parser = ElementTree.XMLParser(target=CommentedTreeBuilder())
作为解析器,而不是当前的解析器。
顺便说一下,使用开箱即用的注释可以正常工作
lxml。也就是说,你可以做
import lxml.etree as ETtree = ET.parse(filename)
不需要以上任何一项。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)