如何使用python在XML声明后添加注释


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将只包含注释节点,如果它们已经存在

但是您想在树之外插入注释TreeBuilder类的文档甚至更明确:

当insert_comments和/或insert_pis为真时,comments/pis将为真如果它们出现在根元素中(但不是),则插入到树中在它之外)

所以我建议写出没有注释的XML文件,使用这个API,然后作为纯文本(不是解析的XML)读取文件,在第一行之后添加注释。

相关内容

  • 没有找到相关文章

最新更新