Python创建xml文件示例

yipeiwu_com5年前Python基础

本文实例讲述了Python创建xml文件的方法。分享给大家供大家参考,具体如下:

这是一个使用ElementTree有关类库,生成xml文件的例子

# *-* coding=utf-8
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement
from xml.etree.ElementTree import dump
from xml.etree.ElementTree import Comment
from xml.etree.ElementTree import tostring
import os
filename="book.xml"
def CreateXml():
  book =ElementTree()
  purOrder =Element("PurchaseOrder")
  book._setroot(purOrder)
  list = Element("account",{'idsn':'2390094'})
  purOrder.append(list)
  item = Element("item1",{"sku":"abcd","qty":"4"})
  SubElement(item,"Name").text="Potato Smasher"
  SubElement(item,"Description").text="Smash Potatoes like never before"
  purOrder.append(item)
  item = Element("item2",{"sku":"gfhi","qty":"40"})
  SubElement(item,"Name").text="Beijing"
  SubElement(item,"Description").text="My Country"
  purOrder.append(item)
  indent(purOrder)
  return book
def indent(elem,level=0):
  i ="\n"+level*"  "
  print elem;
  if len(elem):
    if not elem.text or not elem.text.strip():
      elem.text = i + "  "
    for e in elem:
      print e
      indent(e,level+1)
    if not e.tail or not e.tail.strip():
      e.tail =i
  if level and (not elem.tail or not elem.tail.strip()):
    elem.tail =i
  return elem
if __name__ == '__main__':
  book =CreateXml()
  book.write(filename,"utf-8")
  #book.write("book2.xml","utf-8",True) #true is with xml declaration

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python操作xml数据技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

python中的常量和变量代码详解

局部和全局变量: # name='lhf' # def change_name(): # # global name # name='帅了一比' # print('cha...

对Python3中的print函数以及与python2的对比分析

对Python3中的print函数以及与python2的对比分析

本文首先介绍在python3中print函数的应用,然后对比在pyhton2中的应用。(本文作者所用版本为3.6.0) 首先我们通过help(print)命令来查看print函数的相关信...

基于Pycharm加载多个项目过程图解

基于Pycharm加载多个项目过程图解

这篇文章主要介绍了基于Pycharm加载多个项目过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天在使用Pycharm工具练...

Pyqt5实现英文学习词典

Pyqt5实现英文学习词典

运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加、查询、删除和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件存储方式为“英文单词 中文单...

Python之指数与E记法的区别详解

不要把自乘得到幂(也称为求幂)和E记法弄混了 3**5表示3的5次幂,也就是3*3*3*3*3,等于243 3e5表示3乘以10的5次幂,也就是3*10*10*10*10*10,结果等于...