如何在Python中将XML文件插入/插入其他XML

时间:2019-05-24 21:14:09

标签: python xml

对于一个学生项目,我需要使用python脚本将XML文件注入另一个文件。我真的不知道该怎么做,我尝试了xml.etree python模块,但没有成功。这是我的问题:

file1.xml

<project>

   ...

   <publish>
      <a> Stuff </a>
   </publish>

   ...

</project>

file2.xml

<b> Other stuff </b>

为得到结果,我想将file2.xml注入到file1.xml中的这个确切位置:

file1.xml

<project>

   ...

   <publish>
      <a> Stuff </a>
      <b> Other stuff </b>  <----- Here
   </publish>

   ...

</project>

我该怎么办? 谢谢您的时间

1 个答案:

答案 0 :(得分:0)

很大程度上取决于file1.xml的特定内容。如果</publish>仅发生一次,则完全不需要xml特定的处理。

打开file1.xml进行读取。

打开一个新文件进行写入。

遍历file1.xml中的每一行。

如果当前行是</publish>,则将多余的行写到新文件中。

将当前行写入新文件。

写完所有行后,将file1.xml重命名为file1.xml.bak,然后将新文件重命名为file1.xml。

with open('file1.xml') as file1, open('newfile.xml', 'w') as file2:
    for line in file1:
        if line == '   </publish>\n':
            file2.write('      <b> Other stuff </b>\n')
        file2.write(line)
os.rename('file1.xml', 'file1.xml.bak')
os.rename('newfile.xml', 'file1.xml)