热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Python将xml声明写入文件

如何解决《使用Python将xml声明写入文件》经验,为你挑选了1个好方法。

我通过循环字符串列表在python中编写多个xml文件.假设我有:

from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring

parent = Element('parent')
child = SubElement(parent, 'child')
f = open('file.xml', 'w')
document = ElementTree(parent)
l = ['a', 'b', 'c']
for ch in l:
    child.text = ch
    document.write(f, encoding='utf-8', xml_declaration=True)

输出:


a
b
c

期望的输出:



a
b
c

我只希望xml声明出现在文件的顶部一次.可能应该在循环之前将声明写入文件,但是当我尝试这样时,我会得到空元素.我不想这样做:

f.write('')

如何只写xml声明到文件?

编辑:所需的输出



1> Amirshk..:

您需要在写入文件之前将SubItems添加到树中.在您的代码中,您覆盖了相同的元素,并在循环的每次迭代中编写了整个XML文档.

此外,您的XML语法缺少顶级"root"元素才有效.

from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring

root = Element('root')

l = ['a', 'b', 'c']
for ch in l:
    parent = SubElement(root,'parent')
    child = SubElement(parent, 'child')
    child.text = ch

document = ElementTree(root)
document.write('file.xml', encoding='utf-8', xml_declaration=True)

输出将是:



  a
  b
  c
 


推荐阅读
author-avatar
硕之缘2010
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有