使用Python 3向现有XML文件添加注释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python 3向现有XML文件添加注释相关的知识,希望对你有一定的参考价值。

我有以下XML文件:

<xml_connection_file xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mcf.xsd">
  <version> 1.0.0 </version>
  <connection_group>
    <id> 1 </id>
    <connected_to>
      <part>
        <base> A </base>
      </part>
      <part>
        <base> B </base>
      </part>
    </connected_to>
  </connection_group>
</xml_connection_file>

我希望在主节点(xml_connection_file)中添加注释。我已经在python3中编写了以下代码但是出现错误,说'lxml.etree._ElementTree'没有属性'insert'

from lxml import etree
from ansa import utils

my_selected_file = utils.SelectOpenFile(0, 'xml files (*.mcf)')

tree = etree.parse(my_selected_file[0])

comment = etree.Comment('my comments')
tree.insert(1,comment)

tree.write('new_file.mcf')

任何人都可以告诉我,我做错了什么?提前致谢!

答案
from lxml import etree
from ansa import utils

my_selected_file = utils.SelectOpenFile(0, 'xml files (*.xml)')

tree = etree.parse(my_selected_file[0])
mainnode = tree.getroot()
comm = etree.Comment('--the filename--')
mainnode.insert(1, comm)
tree.write('output.xml')

我之前没有提取xml文件的Element并在insert中应用了tree。现在,我使用Element提取getroot()(主节点),并在此insert中使用Element插入评论

以上是关于使用Python 3向现有XML文件添加注释的主要内容,如果未能解决你的问题,请参考以下文章

BigQuery:使用 python BQ API 向现有表添加新列

如何使用Python在现有XML中附加一堆标签

如何在现有方法中添加一些生成的代码

在 Python 中向现有 PDF 文档添加文本

如何向现有 QTableWidget 添加新行?

向 tar 文件添加条目而不覆盖其现有内容