import xml.etree.ElementTree as ET
def addCommentInXml():
fileXml ='C:\\Users\\Documents\\config.xml'
tree = ET.parse(fileXml)
root = tree.getroot()
comment = ET.Comment('TEST')
root.insert(1, comment) # 1 is the index where comment is inserted
tree.write(fileXml, encoding='UTF-8', xml_declaration=True)
print("Done")
它正在更新 xml,如下所示,请建议如何在 xml 声明行之后添加:
<?xml version='1.0' encoding='UTF-8'?>
<ScopeConfig Checksum="5846AFCF4E5D02786">
<ExecutableName>STU</ExecutableName>
<!--TEST--><ZoomT2Encoder>-2230</ZoomT2Encoder>
ElementTree XML API 不允许这样做。的文档Comment
工厂函数明确指出:
ElementTree 将仅包含注释节点(如果它们已被
使用 Element 方法之一插入到树中。
但您想插入评论outside那个树。的文档TreeBuilder
class 更加明确:
当 insert_comments 和/或 insert_pis 为 true 时,comments/pis 将为
如果它们出现在根元素中(但不是
在它之外)
因此,我建议使用此 API 写出不带注释的 XML 文件,然后以纯文本(未解析的 XML)形式读取该文件,以在第一行之后添加注释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)