Python创建xml文件示例

yipeiwu_com7年前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中with语句结合上下文管理器操作详解

前言 所谓上下文管理器即在一个类中重写了__enter__方法和__exit__方法的类就可以成为上下文管理器类。 我们可以通过with语句结合上下文管理器简化一些操作。 使用with语...

浅析Python中将单词首字母大写的capitalize()方法

 capitalize()方法返回字符串的一个副本,只有它的第一个字母大写。对于8位的字符串,这个方法与语言环境相关。 语法 以下是capitalize()方法的语法: s...

简单谈谈Python的pycurl模块

pycurl是一个用c语言编写的libcurl Python实现,功能非常强大,支持操作协议有FTP,HTTP,HTTPS,TELNET等。 模块的常用方法说明: close()方法...

通过代码实例展示Python中列表生成式的用法

1 平方列表 如果你想创建一个包含1到10的平方的列表,你可以这样做: squares = [] for x in range(10): squares.append(x**2)...

asyncio 的 coroutine对象 与 Future对象使用指南

coroutine 与 Future 的关系 看起来两者是一样的,因为都可以用以下的语法来异步获取结果, result = await future result = await...