Python3.7 ElementTree 读取xml文件中的注释(将注释放入树中)

from xml.etree import ElementTree

class CommentedTreeBuilder(ElementTree.TreeBuilder):
    def __init__(self, *args, **kwargs):
        super(CommentedTreeBuilder, self).__init__(*args, **kwargs)

    def comment(self, data):
        self.start(ElementTree.Comment, {})
        self.data(data)
        self.end(ElementTree.Comment)

import xml.etree.ElementTree as ET
fXml = './osmhbzl0621.xml'

parser  = ET.XMLParser(target=CommentedTreeBuilder())
et = ElementTree.parse( fXml, parser = parser )
root = et.getroot()
print(et)
for item in root:
    print(item.tag)
    iscomment = (type(item.tag) != type('str'))
    print(iscomment)

PS:网上找了很多代码都是旧版,该代码在Python3环境中测试可用。

你可能感兴趣的:(Python)